shell指令碼積累 dirname 0

2021-08-03 09:54:40 字數 402 閱讀 2863

在命令列狀態下單純執行 $ 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...