首頁 > 軟體

Linux 下 `dirname $0`

2020-06-16 17:57:06

在Linux命令列狀態下單純執行 $ cd `dirname $0` 是毫無意義的。因為他返回當前路徑的"."。
這個命令寫在指令碼檔案裡才有作用,他返回這個指令碼檔案放置的目錄,並可以根據這個目錄來定位所要執行程式的相對位置(絕對位置除外)。

在/home/admin/test/下新建test.sh內容如下:

  1. cd `dirname $0`
  2. echo `pwd`

然後返回到/home/admin/執行

  1. sh test/test.sh

執行結果:

  1. /home/admin/test

這樣就可以知道一些和指令碼一起部署的檔案的位置了,只要知道相對位置就可以根據這個目錄來定位,而可以不用關心絕對位置。這樣指令碼的可移植性就提高了,扔到任何一台伺服器,(如果是部署指令碼)都可以執行。

本文永久更新連結地址http://www.linuxidc.com/Linux/2015-07/120453.htm


IT145.com E-mail:sddin#qq.com