被 `` 這玩意兒擴起來的東西 會執行,例如:
你在/home/zhangke15/test 創建腳本 zk.sh,內容爲
執行該腳本文件可以看到:
當前目錄是test,現在換一個目錄,再執行一下:
發現一個問題就是,這裏的pwd是跟隨我執行腳本的時 所在路徑來的,並不能定位腳本所在位置,
dirname $0就可以定位到當前腳本的位置,先cd到dirname $0 再執行pwd看看,腳本改爲:
執行:
發現能定位到腳本所在位置 不受當前所在目錄的影響
這樣做的好處就是:知道一些和腳本一起部署的文件的位置,只要知道相對位置就可以根據這個目錄來定位,而可以不用關心絕對位置。這樣腳本的可移植性就提高了,扔到任何一臺服務器,(如果是部署腳本)都可以執行。
參考博客:
https://blog.csdn.net/jackyechina/article/details/52813007