0

現在、OrientDbというデータベースを起動するために使用されるシェルスクリプトをカスタマイズしています。

問題のスクリプトの関連する行は次のとおりです。

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.shおよびshutdown.shスクリプトを呼び出す場合は、およびが追加され1>../log/orient.errます1>>../log/orientdb.err

1>とはどういう1>>意味ですか?2つの違いは何ですか?

4

3 に答える 3

0

1> stdをログファイルにリダイレクトし、1>>ログファイルに追加します。

于 2012-12-18T02:53:24.353 に答える
0

1> stdoutをリダイレクトし、指定された引数のような名前のファイルに書き込みます。

2>stderrについても同じことを行います。

1 >>実行しますが、ファイルがすでに存在する場合は、ファイルを書き換えるのではなく、ファイルに追加します。

| 出力を次のプロセスに渡します。

詳細を知りたい場合は、シェルリダイレクトを検索してください。

于 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 に答える