What is bang dollar (!$) in Bash?
BangDollar似乎是指最后一个命令行的最后一部分。
例如。
1 2 3 4 5 | $ ls -l .... something $ !$ -l bash: -l command not found |
我可以在美元变量(如
这是上一个命令的最后一个参数。从文档中:
!!:$ designates the last argument of the preceding command. This may be shortened to
!$ .
备注。如果您想了解bash的历史,我建议您打开shell选项
1 | shopt -s histverify |
(你也可以把它放在你的
准确地说,键入
1 2 3 4 5 6 7 8 | $ { echo zee; } zee $ echo"$_" zee $ { echo zee; } zee $ echo !$ $ echo } |
也:
1 2 3 4 5 6 7 | $ if true; then echo one; else echo two; fi one $ echo"$_" one $ if true; then echo one; else echo two; fi $ echo !$ $ echo fi |
还有:
1 2 3 4 5 | $ echo zee; echo"$_" zee zee $ echo zee2; echo !$ $ echo zee2; echo"$_" |
而且
1 2 3 4 5 6 7 8 | $ echo {1..3} 1 2 3 $ echo"$_" 3 $ echo {1..3} 1 2 3 $ echo !$ $ echo {1..3} |
而且
1 2 3 4 5 6 7 | $ echo one ; $ echo"$_" one $ echo one ; one $ echo !$ $ echo ; |
还有很多其他的例子,例如别名。
下面是一个例子。
与
1 2 3 4 5 6 7 8 9 | za:tmep za$ ls -lad drwxr-xr-x 4 za staff 136 Apr 6 2016 . za:tmep za$ !$ -lad -bash: -lad: command not found za:tmep za$ history | tail -n 3 660 ls -lad 661 -lad <<== history shows !$ substitution. 662 history | tail -n 3 |
与
1 2 3 4 5 6 7 8 9 | za:tmep za$ ls -lad drwxr-xr-x 4 za staff 136 Apr 6 2016 . za:tmep za$ $_ -bash: -lad: command not found za:tmep za$ history | tail -n 3 663 ls -lad 664 $_ <<== history shows $_ and not its substitution. 665 history | tail -n 3 za:tmep za$ |
更多选择:
1 2 3 4 5 6 7 8 | !^ first argument !:2 second argument !:2-$ second to last arguments !:2* second to last arguments !:2- second to next to last arguments !:2-3 second to third arguments !$ last argument !* all arguments |
猴子的回答:
哇!$您可以轻松打印上一个命令的最后一个字。
1 2 3 4 | #Create new file touch newfile.txt #Edit new file using !$ instead newfile.txt again nano !$ |