Sno*_*ash 25 syntax bash symbols
Bang dollar似乎是指最后一个命令行的最后一部分.
例如
$ ls -l
.... something
$ !$
-l
bash: -l command not found
Run Code Online (Sandbox Code Playgroud)
我可以在美元变量上找到很多(例如$!)但不是这个.任何解释?
gni*_*urf 36
这是上一个命令的最后一个参数.从文档:
!!:$指定前一个命令的最后一个参数.这可以缩短为
!$.
备注.如果你想玩Bash的历史,我建议你打开shell选项,histverify如下所示:
shopt -s histverify
Run Code Online (Sandbox Code Playgroud)
(你也可以把它.bashrc永久地放在你身上).使用历史替换时,替换不会立即执行; 相反,它被放入readline的缓冲区,等待你按下输入......或者不是!
为了使事情准确,键入!$不等于键入"$_":!$实际上是历史替换,指的是输入的上一个命令的最后一个字,而是"$_"先前执行的命令的最后一个参数.你可以比较两者(我有shopt -s histverify):
$ { echo zee; }
zee
$ echo "$_"
zee
$ { echo zee; }
zee
$ echo !$
$ echo }
Run Code Online (Sandbox Code Playgroud)
也:
$ if true; then echo one; else echo two; fi
one
$ echo "$_"
one
$ if true; then echo one; else echo two; fi
$ echo !$
$ echo fi
Run Code Online (Sandbox Code Playgroud)
并且:
$ echo zee; echo "$_"
zee
zee
$ echo zee2; echo !$
$ echo zee2; echo "$_"
Run Code Online (Sandbox Code Playgroud)
并且
$ echo {1..3}
1 2 3
$ echo "$_"
3
$ echo {1..3}
1 2 3
$ echo !$
$ echo {1..3}
Run Code Online (Sandbox Code Playgroud)
并且
$ echo one ;
$ echo "$_"
one
$ echo one ;
one
$ echo !$
$ echo ;
Run Code Online (Sandbox Code Playgroud)
还有许多其他示例,例如,使用别名.
!$可以做什么$_,除了$_不存储它返回的值(作为其替换)的事实history.
这是一个例子.
同 !$
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
Run Code Online (Sandbox Code Playgroud)
同 $_
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$
Run Code Online (Sandbox Code Playgroud)
更多的选择:
!^ 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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8921 次 |
| 最近记录: |