linux 腳本 `dirname $0`

被 `` 這玩意兒擴起來的東西 會執行,例如:
你在/home/zhangke15/test 創建腳本 zk.sh,內容爲
在這裏插入圖片描述

執行該腳本文件可以看到:
在這裏插入圖片描述

當前目錄是test,現在換一個目錄,再執行一下:
在這裏插入圖片描述
發現一個問題就是,這裏的pwd是跟隨我執行腳本的時 所在路徑來的,並不能定位腳本所在位置,
dirname $0就可以定位到當前腳本的位置,先cd到dirname $0 再執行pwd看看,腳本改爲:

執行:
在這裏插入圖片描述
發現能定位到腳本所在位置 不受當前所在目錄的影響

這樣做的好處就是:知道一些和腳本一起部署的文件的位置,只要知道相對位置就可以根據這個目錄來定位,而可以不用關心絕對位置。這樣腳本的可移植性就提高了,扔到任何一臺服務器,(如果是部署腳本)都可以執行。

參考博客:
https://blog.csdn.net/jackyechina/article/details/52813007

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