0

というコマンド ライン ツールを使用しようとしていますccnd。そのログをファイルに送信したい。ツールのドキュメントには次のように書かれています。

端末ではなくログ ファイルに出力を送信する ccnd を開始するには、CCND_LOG書き込みたいファイルのパスを環境変数に設定します。その名前の既存のファイルは上書きされます。

だからここに私がしたことがあります:

$ CCND_LOG='./ccnd.log'
$ ccnd

しかし、ターミナルにコマンド ライン ツールの出力がまだ表示されます。ccnd で CCND_LOG を有効にするにはどうすればよいですか?

bashMac OS X ターミナルのデフォルト設定と思われる を使用しています。

4

1 に答える 1

3

また:

$ CCND_LOG="./ccnd.log" ccnd

または:

$ export CCND_LOG="./ccnd.log"
$ ccnd

1 つ目は、コマンドの環境を設定します。2 番目は、変更されるまで環境を設定します。すべての環境変数はシェル変数でもあります。すべてのシェル変数が環境変数であるとは限りません。エクスポートされるまで、変数は単なるシェル変数です。エクスポートされると、環境の一部になります。

C シェルの派生物 ( などtcsh) を使用している場合は、setenvコマンドを使用して環境変数を作成する必要があります。最初のバリアントは、C シェルのオプションではありません。

% setenv CCND_LOG ./ccnd_log
% ccnd

bash を使用している場合、最初の 2 つのいずれかで、コマンドの実行中に環境を設定する必要があります。エクスポート表記を使用します。次に実行env | grep CCNDして、設定されていることを確認します。

CCNx のドキュメントには次のように記載されています。

すべての CCNx プログラムでは、ccnd が実行されている必要があります。

bin/ccndstart

端末ではなくログ ファイルに出力を送信する ccnd を開始するには、CCND_LOG書き込みたいファイルのパスを環境変数に設定します。その名前の既存のファイルは上書きされます。

使用可能なその他の環境変数 (デバッグ メッセージ コントロールを含む) の一覧を表示するには、次のコマンドを実行します。

bin/ccnd -h

通常は ccnd を直接実行するccndstartのではなく、スクリプトを使用する

(強調を追加しました。)

走っていますccndccndstart

于 2013-03-16T05:31:37.290 に答える