実行前にサブシェルを拡張しますか?

実行前にサブシェルを拡張しますか?

私はしばしばコマンドを実行するためにサブシェルを使用し、時には何かを実行する前にサブシェルを拡張したいと思います。これにより、私がやっていることを確認したり、将来の作業を編集したりできます。

たとえば、サブシェルの結果を編集できるように実行する前に、次のコマンドラインを展開するにはどうすればよいですか?

例えば

$ find -name "test.txt" 
/tmp/test.txt

$ mv $(!!) /tmp/new.txt

サブシェル拡張を見たいです。今後次のようにコマンドを実行します。

$ mv /tmp/test.txt /tmp/new.txt

これを行う方法はありますか?

ベストアンサー1

shell-expand-line\e\C-e)はbashのコマンド置換を拡張します。

$ bind -p|grep shell-ex
"\e\C-e": shell-expand-line

$(!!)\e\C-e前のコマンドを再実行して出力を挿入します。

"\eo": "$(!!)\e\C-e"

また、他のコマンド置換も拡張しますがshell-expand-word

Bash 4.0以降では、を有効にして入力globstarし、()または()を**/file.txt使用することもできます。glob-complete-word\egglob-expand-word\C-x*

おすすめ記事