在命令列狀態下單純執行 $ cd `dirname $0` 是毫無意義的。因為他返回當前路徑的"."。
這個命令寫在指令碼檔案裡才有作用,他返回這個指令碼檔案放置的目錄,並可以根據這個目錄來定位所要執行程式的相對位置(絕對位置除外)。
在/home/admin/test/下新建test.sh內容如下:
cd `dirname $0`
echo `pwd`
然後返回到/home/admin/執行
sh test/test.sh
執行結果:
/home/admin/test
這樣就可以知道一些和指令碼一起部署的檔案的位置了,只要知道相對位置就可以根據這個目錄來定位,而可以不用關心絕對位置。這樣指令碼的可移植性就提高了,扔到任何一台伺服器,(如果是部署指令碼)都可以執行。
shell指令碼學習積累
shell 指令碼中 用 進行注釋 eq 表示等於 英語單詞 equal ne 表示不等於 英語單詞 not equal gt 表示大於 greater than ge 大於等於 greater equal lt 小於 less then le 小於等於 less equal 小於 需要雙括號 如 ...
Shell指令碼知識點積累
str aaaaaaaaaaaaaa bbbbbbb str1 匹配第乙個,進行擷取 echo new str1 str1 str2 匹配最後乙個,進行擷取 echo new str2 str2 str aaaaaaaaa cc str1 匹配第乙個,進行擷取 echo new str1 str s...
Shell指令碼(三) Shell指令碼入門
1 指令碼格式 指令碼以 bin bash開頭 指定解析器 2 第乙個shell指令碼 helloworld 1 需求 建立乙個shell指令碼,輸出helloworld 2 案例實操 atguigu hadoop101 datas touch helloworld.sh atguigu hadoo...