シェルスクリプト(bash)を実行/ソースし、出力を得るにはどうすればよいですか?含むスクリプト内のコマンドは?出力をファイルにリダイレクトしたいのですが、
$ ./my_script > output.txt
そして、output.txt
その内容をターミナルに対話的に入力し、ターミナル ウィンドウの内容をファイルにコピーして貼り付けたかのように、ファイルにスクリプトからのコマンドが含まれるようにします。
前に が付いたターミナルのように、コマンドを出力行と視覚的に区別するソリューションにはボーナス ポイントが付与されます$
。
答え1
スクリプトで、コマンドの前に次の行を追加します (これにより、各コマンドが実行前に stderror に書き込まれます)。
set -x
次にスクリプトを開始します。
./my_script > output.txt 2>&1