シェルスクリプトの実行: 対話的に入力したかのように出力にコマンドを含める方法

シェルスクリプトの実行: 対話的に入力したかのように出力にコマンドを含める方法

シェルスクリプト(bash)を実行/ソースし、出力を得るにはどうすればよいですか?含むスクリプト内のコマンドは?出力をファイルにリダイレクトしたいのですが、

$ ./my_script > output.txt

そして、output.txtその内容をターミナルに対話的に入力し、ターミナル ウィンドウの内容をファイルにコピーして貼り付けたかのように、ファイルにスクリプトからのコマンドが含まれるようにします。

前に が付いたターミナルのように、コマンドを出力行と視覚的に区別するソリューションにはボーナス ポイントが付与されます$

答え1

スクリプトで、コマンドの前に次の行を追加します (これにより、各コマンドが実行前に stderror に書き込まれます)。

set -x

次にスクリプトを開始します。

./my_script > output.txt 2>&1

関連情報