Bash
!#
在 csh、bash、zsh 和可能的其他 shell 中有什麼用?
來自
man bash
:
!#
到目前為止鍵入的整個命令行。來自
man zshall
:
!#
參考目前輸入的命令行。該行被視為完整,直到包含!#
引用的單詞之前的單詞。我唯一能想到的是:
cd ..;!#!#!#
要上 8 個步驟:))
我不經常使用它,但它有時與
:
提取命令的第 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: