端末で最後に実行されたコマンドの出力を保存する方法は?

端末で最後に実行されたコマンドの出力を保存する方法は?

私のプロジェクトには、クリーンビルドを実行すると何かを出力し、増分ビルドを実行すると他のものを(より少なく)出力する増分ビルドコマンドがあります。

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

源泉:Bashで最後のコマンドの出力を再利用する

関連情報