取得程式本身的絕對路徑
shell path -(cd `dirname $0`; pwd -P)
Why
執行 shell script
時,經常需要知道 script
自己所在的位置。
因為需要切換接下來的工作目錄,以便後續的程式知道應該去正確的位置執行或取得資訊。
How
利用 dirname
能夠取得路徑中不含字串尾部 /
的最後一個 /
之前的路徑。
但如果路徑字串不含 /
則傳回 .
。
例如
> dirname abc/123/xyz // abc/123 > dirname abc/123/xyz/ // abc/123 > dirname abc // .
在 shell script
中,變數 $0
代表自己本身。
/bin/test.sh
> echo $0
// /bin/test.sh
結合 dirname
和 $0
就能得到 shell script
所在的目錄路徑。
但有時結果會是一個相對路徑或軟連結。但利用 pwd -P
可以得到目前工作目錄的絕對路徑。
所以只要將目前工作路徑切換到 shell script
所在的目錄路徑,然後在使用 pwd -P
,便能得到 shell script
所在的目錄絕對路徑。
cwd=(cd `dirname $0`; pwd -P)
使用 ()
將兩個指令合併成一個,他會當成一個新的 shell script
來執行並傳回最後一個指令的結果。
這可以得到結果,同時並不會切換工作目錄。
從圖像中掃描解碼條碼
<<
>>
安裝 LEMP 開發環境