「set -x」を使用してコメントを追加する

「set -x」を使用してコメントを追加する

時には追加するのは本当に便利です。

set -x

実行前にすべてのコマンドを表示するには、スクリプトの上部に移動します。

良い出力を持つスクリプトを作成するには、1つの欠点があります。このように、スクリプトにテキスト出力を追加する方法がわかりません。私が使うなら

echo 'some comment'

これにより印刷が倍増します。

+ echo 'some comment'
some comment

試してみると#全く出ません。

のように印刷されるコメントを追加するにはecho?を使用するとどうなりますかset -x

ベストアンサー1

賢いアプローチは、コメントをno-opコマンドの引数として記述することです。特に役に立つかもしれないものは次のとおりです。:空のユーティリティ:

set -x
: Some interesting notes on the following are ...

結果:

+ : Some interesting notes on the following are...

コロンコマンドは、何も実行せず、ユーザーが提供するすべての引数を受け入れ、常に成功します。:トレース出力の開始時に追加情報を取得できますが、これはおそらくユーザーの目的にとって大きな問題ではありません。

これが気に入らない場合、:より悪い方法は偽のコマンドを使用することです。

set -x
seq 1 1
Some comment &>/dev/null
true

以下を出力します。

+ seq 1 1
1
+ Some comment
+ true

つまり、Some commentシェルがラインを実行しようとすると、ラインはトレース出力として印刷されますが、結果のエラーメッセージはに送信されます/dev/null。これはいくつかの明白な理由で迷惑なことですが。エラーset -e


どちらの場合も、あなたのコメントは通常の方法でシェルによって解析されるため、特に特殊文字がある場合はそれを引用する必要があり、トレース出力なので引用符が表示されます。

おすすめ記事