你可能不知道的超实用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个参数
posted @ 2017-01-16 20:41  贺秋雨  阅读(511)  评论(0编辑  收藏  举报