csh、bash、zsh、およびその他のシェルでの `!#`の用途は何ですか?

csh、bash、zsh、およびその他のシェルでの `!#`の用途は何ですか?

からman bash

!# これまでに入力した完全なコマンドラインです。

からman zshall

!# これまでに入力された現在のコマンドラインを確認してください。行は、引用符付きの行の前の単語を含む完全なものと見なされます!#

私が考えることができる唯一のことは:

cd ..;!#!#!#

ステップ8に上がる :))

答え1

頻繁には使用しませんが、: コマンドのn番目の単語を抽出するのと一緒に使用すると、時には便利です。たとえば、

$ touch FILE.a
$ echo file created
$ mv FILE.a !#:1.bak
mv FILE.a FILE.a.bak

cut別の例は実際には意味がありませんが、次のように単純なコマンドで同じ行に定義されている変数の内容を取得するために使用できます。

$ LETTER=a echo letter: $(cut -d '=' -f2 <<< "!#:0")
letter: a

$LETTERコマンドを実行する前は、拡張状態では機能しません。

$ LETTER=a echo letter: $LETTER
letter:

関連情報