2011-07-16 13 views
0

假設我在某個文件夾中有一個名爲foo的腳本,在同一個文件夾中有一個名爲bar的腳本。說foo看起來是這樣的:如何從腳本所在的文件夾運行某些內容

./bar 

現在如果我叫./foo,這將正常工作,但如果我在另一個文件夾中,並調用somefolder/foo,它就會失敗。

我怎樣才能得到這個點./bar是從foo目錄中解釋的?

回答

2

foo看起來是這樣的:

cd "$(dirname "$0")" 
./bar 
+0

的問題是,這會搞亂所有其他參數是,如果路徑你改變目錄。但是將這兩種表述相結合可以產生理想的效果 –

1

回答相當詳盡的bash和其他shell中:

Getting the source directory of a Bash script from within

+0

歡迎來到Stack Overflow。不要只通過鏈接回答問題,請閱讀[如何回答]。當你看到一個與先前問題完全相同的問題時,點擊問題上的「標誌」按鈕,選擇「它不屬於這裏」,然後選擇「確切複製」,然後輸入前面問題的鏈接。現在也留下評論讓其他人看到(在主持人採取行動之前,國旗仍然是不可見的)。 – Gilles

+0

已注意。我可能沒有足夠的聲望來標記這一點 - 正如你可以告訴我是新的。 – iandotkelly

相關問題