你可能不知道的超实用shell技巧 —— 上个命令各个参数的表示方法
在之前的文章《你可能不知道的超实用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个参数