コマンド出力をログファイルに追加して端末に印刷するには、次のコマンドを使用します。
ls 2>&1 | tee -a log.txt
実行されたコマンドをリダイレクトできますか?これでサンプルコンテンツはlog.txt
次のようになります。
ls
file1
file2
dir1
ベストアンサー1
これを一般化するためにヘルパー関数を追加できます。
#!/bin/bash
logged() {
{ echo "$1"; "$@"; } 2>&1 | tee -a log.txt
}
# Will run command ls with output logging
logged ls
logged ls -t /home
...
実行されたコマンドを「記録」するもう1つの一般的な方法はxtrace
(set -x
)ですが、状況には適していない可能性があります。一度試したい場合は、少なくとも設定で一般的な「+」プレフィックスを削除できますPS4=''
。