1
最後の入力を再度実行するために、double bangのbash/shellスクリプトで行を開始するにはどうすればよいですか?bashスクリプトで行を始める!! (double bang)
最後に実行したプログラムの過去の出力を新しいプログラムにパイプしたいと思っています。たとえば、最後にls -l
を実行してこのスクリプトを実行すると、ls -l
を<some program here>
にパイプして操作したいと考えています。
#! /bin/sh
!! | <some program here>
私は
取得しています!!:ない はあなたが本当にスクリプトで再度コマンドを実行したい場合は、あなたが得るために
~/.bash_history
ファイルにアクセスすることができます
私が知っている限り、バンバンは最後に実行したコマンドを(対話モードで)再度実行します。これは適切なアプローチではないかもしれません。ファイルを削除してコマンドを実行すると、既に削除されたファイルを再度削除しようとしていたため、別の出力が得られます。 lsの出力をあなたのプログラムにパイプすると、次のようになります: 'ls -l | 。/ yourscript.sh'。スクリプトは実行可能でなければならないことに注意してください。 – redxef
ヒストリ拡張を利用できるようにする必要があります(これは '/ bin/sh'にはありません)、有効にする必要があります(非対話シェルではデフォルトではありません)。 – chepner
皆さんありがとうございます。最初のコマンドを実行した後にmyscript.shを実行したかったとします。履歴から行にアクセスし、myscript.shで再度実行する方法はありませんか? – userJoe