源文章:http://www.letuknowit.com/post/78.html
在之前的文章《你可能不知道的超實(shí)用shell技巧 — !$》中地沮,我們知道了 在shell中,!$代表了上一個(gè)命令的最后一個(gè)參數(shù)碍粥。那如果要獲取上個(gè)命令的其它參數(shù)該怎么操作呢螃宙?
還是以echo hello world命令為例雁社,下面就演示在該命令執(zhí)行完成后,如何獲取命令的各個(gè)參數(shù)甚至命令本身久脯。
# 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
在調(diào)用!:3的時(shí)候出錯(cuò)了纳胧,因?yàn)樯弦淮蔚拿钪挥袃蓚€(gè)參數(shù)。
下面你應(yīng)該知道如何獲取上次執(zhí)行的是哪個(gè)命令了帘撰,那就是!:0跑慕,請(qǐng)看下面
# echo hello world
hello world
# echo !:0
echo echo
echo
其實(shí)呢,有更好的表示方法,看下面
# echo hello world
hello world
# echo !#
echo echo
echo
總結(jié)
!# 上一個(gè)命令名
!$ 上一個(gè)命令的最后一個(gè)參數(shù)
!:n 上一個(gè)命令的第n個(gè)參數(shù)