0

我目前正在定制一个用于启动名为 OrientDb 的数据库的 shell 脚本。

这些是相关脚本中的相关行:

sudo -u $ORIENTDB_USER sh -c "cd \"$ORIENTDB_DIR/bin\"; /usr/bin/nohup ./server.sh 1>../log/orientdb.log 2>../log/orientdb.err &"

sudo -u $ORIENTDB_USER sh -c "cd \"$ORIENTDB_DIR/bin\"; /usr/bin/nohup ./shutdown.sh 1>>../log/orientdb.log 2>>../log/orientdb.err &"

我知道该脚本 sudos 到定义的用户ORIENTDB_USER并运行一些命令。我也明白&强制脚本在后台运行。

但是,在调用server.shandshutdown.sh脚本时,会附加1>../log/orient.errand 1>>../log/orientdb.err

是什么1>意思1>>?两者有什么区别?

4

3 回答 3

0

1> 将标准输出重定向到日志文件, 1>> 附加到日志文件。

于 2012-12-18T02:53:24.353 回答
0

1 > 重定向标准输出并将其写入一个名称与提供的参数类似的文件。

2 > 对标准错误也会做同样的事情。

1 >> 这样做但附加到一个文件而不是重写它,如果它已经存在的话。

| 将输出传递给下一个进程。

如果您想了解更多信息,请搜索 shell 重定向。

于 2012-12-18T02:53:33.050 回答
0

1重定向标准输出。>意思是“如果不存在则在此处创建文件,或者如果存在则擦除文件”。>>意思是“附加到当前文件”。

因此,1> ../log/orient.err将标准输出写入../log/orient.err,擦除具有该名称的任何先前文件。1>> ../log/orientdb.err将标准输出写入同一个文件,但保留文件并附加到文件末尾。

于 2012-12-18T02:56:28.553 回答