源文章:http://www.letuknowit.com/post/78.html
在之前的文章《你可能不知道的超实用shell技巧 — !$》中,我们知道了 在shell中,!$代表了上一个命令的最后一个参数。那如果要获取上个命令的其它参数该怎么操作呢?
还是以echo hello world命令为例,下面就演示在该命令执行完成后,如何获取命令的各个参数甚至命令本身。
# echo hello world
hello world
# echo !:1
echo hello
hello
# echo hello world
hello world
# echo !:2
echo world
world
# echo hello world
hello world
# echo !:3
-bash: :3: bad word specifier
在调用!:3的时候出错了,因为上一次的命令只有两个参数。
下面你应该知道如何获取上次执行的是哪个命令了,那就是!:0,请看下面
# echo hello world
hello world
# echo !:0
echo echo
echo
其实呢,有更好的表示方法,看下面
# echo hello world
hello world
# echo !#
echo echo
echo
总结
!# 上一个命令名
!$ 上一个命令的最后一个参数
!:n 上一个命令的第n个参数
网友评论