実行されたコマンドと出力をログファイルに表示します。

実行されたコマンドと出力をログファイルに表示します。

シェルファイルの出力だけでなく、そこに使用されたコマンドも記録するための迅速で汚い方法はありますか?

たとえば、

whoami > who.dmp

以下の内容を含むファイルが出力されます。

my_username

長いシェルファイルの場合、結果を取得したコマンドをログファイルに表示する最も効率的な方法は何ですか?

前任者:

log.txt
###############

echo whoami  <- I want this to show in the file as well
my_username

time   <- I want this to show in the file as well

real    0m0.00s
user    0m0.00s
sys     0m0.00s

毎回コマンドを出力ファイルにハードコーディングせずにこれを行う方法はありますか?

ベストアンサー1

組み込みシェルを使用することは、set -xこれを行う安価で汚れた方法です。シェルスクリプトでは、次の行を頻繁に表示できます。

#set -x

ただ誰かがコメントしました。インタラクティブなコマンドラインで利用できると思いますが、ここで実行される操作が気に入らない場合があります。

おすすめ記事