源文章:http://www.letuknowit.com/post/76.html
在shell中,!$是一個特殊的環境變量,它代表了上一個命令的最后一個參數。看下面的例子
$ echo hello world
hello world
$ echo !$
echo world
world
$ echo "hello world"
hello world
$ echo !$
echo "hello world"
hello world
這里為什么要用echo呢,請看下面,如果不用echo,!$輸出的內容(world)會被shell當做一個命令來執行,所以就會報錯
$ echo hello world
hello world
$ !$
world
No command 'world' found, did you mean:
Command 'tworld' from package 'tworld' (universe)
world: command not found
應用場景示例
1、建立多層目錄并進入建立好的多層目錄
$ mkdir -p a/b/c/d/e
$ cd a/b/c/d/e
改成
$ mkdir -p a/b/c/d/e
$ cd !$
上面mkdir -p命令用來一次性建立多層目錄
2、編寫文件后檢測文件格式或者編譯文件
$ vi a.php
$ php -l !$
或者
$ vi main.c
$ gcc !$