例1.
在/home/admin/test/下新建test.sh內容如下:
cd `dirname $0` echo `pwd`
然后返回到/home/admin/執行
sh test/test.sh
運行結果:
/home/admin/test
這樣就可以知道一些和腳本一起部署的文件的位置了,只要知道相對位置就可以根據這個目錄來定位,而可以不用關心絕對位置。這樣腳本的可移植性就提高了,扔到任何一台服務器,(如果是部署腳本)都可以執行。
dirname 用於取指定路徑所在的目錄
$0 表示當前運行的命令
例2.
在~/server/colline/cluster5_2/bin下新建env.sh,coltaskmanager.sh,然后在coltaskmanager.sh中調用腳本env.sh
這個時候,我們可以這樣實現:
. `dirname $0`/env.sh