2012-12-18 68 views
0

我目前正在自定义一个用于启动名为OrientDb的数据库的shell脚本。在shell脚本中,> 1 ../log/ orientdb.log和1 >> ../ log/orientdb.log是什么意思?

这些都是从脚本相关线路中的问题:

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.shshutdown.sh脚本时,它会附加1>../log/orient.err1>>../log/orientdb.err

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

回答

0

1>重定向标准输出并将其写入名为类似于所提供参数的文件。

2>会为stderr做同样的事情。

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

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

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

0

1>重定向到日志文件,1 >>追加到日志文件。

0

1重定向标准输出。 >的意思是“如果不存在,则在这里创建一个文件,或者如果文件存在,则擦除文件”。 >>的意思是“追加到当前文件”。

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

相关问题