如何獲得指令碼檔案所在路徑

2021-04-30 22:00:36 字數 506 閱讀 7456

在unix或linux上做開發,經常用到指令碼。我就遇到這樣乙個問題:如何獲得指令碼檔案所在路徑呢?注意這個路徑和當前工作路徑是不同的,用`pwd`或$獲得的是當前工作路徑,不是我所要的最終結果。在網上搜了半天也沒找到乙個切實可行的辦法,看來還得靠自己。下面把我的解決辦法貼出來供大家分享吧:

舉個例子:

在/home/john/tmp下建立指令碼檔案test.sh

1 #!/bin/bash

23 echo "the script is in $"

在/home/john下執行它,得到輸出為:the script is in /home/john

顯然我們想要的是/home/john/tmp

我的解決辦法:

1 #!/bin/bash

23 root_path=`dirname $/$0`

45 echo $root_path

無論在什麼路徑執行這個指令碼都可以得到正確的輸出了:the script is in /home/john/tmp

python執行路徑和指令碼檔案所在路徑

我在sublime text2編輯python指令碼程式,用ipython匯入指令碼模組,開啟檔案時總是報錯,原來是路徑問題 fp open filename,r 此處,執行當前指令碼沒問題,但是ipython裡匯入該模組後,工作目錄為ipython所在目錄,因此開啟檔案必定出錯,ipython匯入...

如何執行 sh指令碼檔案

最近在閱讀其他大佬的 時發現了.sh這個指令碼檔案,這個檔案中包含了與預設情況不同的自定義的超引數,如圖所示 在這個檔案的開頭部分會有乙個綠色的小箭頭,當把滑鼠放到上面的時候,會顯示出 run file,意思就是執行該程式 檢視指令碼檔案中的整體內容,我們可以發現其實就是在linux命令 況下執行程...

如何獲得當前執行程式所在的路徑

如果是linux,看下面這些 利用proc可以獲得完整的路徑 乙個linux下的例子 include include ifndef path max define path max 1024 endif char get exe name buf rslt 0 return buf int main...