1. 程式人生 > >`dirname $0` 定位到執行指令碼的相對位置

`dirname $0` 定位到執行指令碼的相對位置

例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