私のプロジェクトには、クリーン ビルドを実行すると何かを出力し、増分ビルドを実行すると別の何か (より少ない) を出力させる増分ビルド コマンドがあります。
すでにクリーン ビルドを実行しmycommand.sh
、出力がターミナル ウィンドウに印刷されている場合 (コピー アンド ペーストを使用せずに)、これを保存するにはどうすればよいですか?
忘れてた
mycommand.sh > myfile.txt
または
mycommand.sh >> myfile.txt
出力をファイルに保存します。
答え1
または、前のコマンドを再実行すること$(!!)
は解決策のように見えるかもしれませんが(時には解決策になることもあります)、欠点もあります。完全に使用して理解します。
例: コマンドが次のような変更を行った場合
rm -rv /tmp/*
そうすれば、そのコマンドを何らかの方法で再実行してもない最初の実行前に /tmp/ が空で、2 回目もまだ空である場合は、出力は同じになるという点を除いて、以前と同じ出力が生成されます。
結論:安全コマンドの実行中に出力を保存しなかった場合、最後のコマンドの出力を再利用または保存 (コピー & 貼り付けなし) する方法。
答え2
bash はメモリ上のどのパラメータやブロックにも出力を割り当てないので、これはできません。
$(!!)
ただし、再計算する最後のコマンドの出力を(再利用しないで)保存します。
は!!
単独で最後のコマンドを実行します。
$ echo pierre
pierre
$ echo my name is $(!!)
echo my name is $(echo pierre)
my name is pierre