从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: