上記の内容が正しいかどうかはわかりませんが、シェルの使用でよく見られるパターンは次のとおりです。
かなり長くできるコマンドがありますが、CLI設計上必須コマンドがあります。このコマンドを複数回実行し、しばしば特定のパラメータを変更する必要があります。もちろん、すべての引数を事前に知っていればxargsなどを使用できますが、時にはそうでない場合もあります。したがって、次のようなコマンドがあるかもしれません。
cli -flag -flag X arg arg arg arg
再びXに戻る必要があるため、再実行するのは面倒です。したがって、何らかの方法で次のことをお勧めします。
cli -flag -flag HOLE arg arg arg < X
これにより、パラメータを変更したい場合は、Xを簡単に押して置き換えることができます。
可能ですか?
答え1
すべてのパラメータを事前に知っていればxargsなどを使用できますが、時にはそうでない場合もあります。
すべての主張を知っていればとは別に機能に変更されました。
myfunc () { cli -flag -flag "$1" arg arg arg arg ; }
その後、パラメータを変更して関数を呼び出します。
またはあなたは使用することができます歴史的拡張:
$ cli -flag -flag X arg arg arg arg # Run the first time
$ ^X^Y # will replace the first occurrence of X anywhere in the previous command with Y and run it
$ ^Y^Y2 # now replace Y with Y2 in the command that resulted from the above
my-command asterisk period comma colon
履歴拡張は差別しません。すでに持っていて実行したい場合は使用できませんmy-command asterisk period apostrophe colon
。この場合、関数を使用する方が良いでしょう^comma^apostrophe
。my-apostrophend asterisk period comma colon