獲取被執行shell的全路徑名

在shell的當前文件夾下執行沒有問題,但是當通過另外的文件夾來執行該shell的時候,pwd可能無法滿足要求。

需要用下面的命令獲取該shell的"pwd"值

 

current_dir=$(cd "$(dirname "${0}")"; pwd)

 

 

例如:shell文件被放置在 /home/xdbms/workspace/makeEnv/utilities/sign/sign.sh

如果在目錄 /home/xdbms/workspace/makeEnv/utilities/sign/ 下來執行sign.sh的話

pwd的值是正確的,但是如果在/home/xdbms下來執行這個shell,所打出來的pwd值就不正確了。

 

shell腳本內容:

echo `pwd`
current_dir=$(cd "$(dirname "${0}")"; pwd)
echo $current_dir

執行shell腳本

[xdbms@qa4 ~]$ sh /home/xdbms/workspace/makeEnv/utilities/sign/sign.sh

輸出信息
++ pwd
+ echo /home/xdbms
/home/xdbms
+++ dirname /home/xdbms/workspace/makeEnv/utilities/sign/sign.sh
++ cd /home/xdbms/workspace/makeEnv/utilities/sign
++ pwd
+ current_dir=/home/xdbms/workspace/makeEnv/utilities/sign

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章