假設我在某個文件夾中有一個名爲foo
的腳本,在同一個文件夾中有一個名爲bar
的腳本。說foo
看起來是這樣的:如何從腳本所在的文件夾運行某些內容
./bar
現在如果我叫./foo
,這將正常工作,但如果我在另一個文件夾中,並調用somefolder/foo
,它就會失敗。
我怎樣才能得到這個點./bar
是從foo
目錄中解釋的?
假設我在某個文件夾中有一個名爲foo
的腳本,在同一個文件夾中有一個名爲bar
的腳本。說foo
看起來是這樣的:如何從腳本所在的文件夾運行某些內容
./bar
現在如果我叫./foo
,這將正常工作,但如果我在另一個文件夾中,並調用somefolder/foo
,它就會失敗。
我怎樣才能得到這個點./bar
是從foo
目錄中解釋的?
foo
看起來是這樣的:
cd "$(dirname "$0")"
./bar
回答相當詳盡的bash和其他shell中:
歡迎來到Stack Overflow。不要只通過鏈接回答問題,請閱讀[如何回答]。當你看到一個與先前問題完全相同的問題時,點擊問題上的「標誌」按鈕,選擇「它不屬於這裏」,然後選擇「確切複製」,然後輸入前面問題的鏈接。現在也留下評論讓其他人看到(在主持人採取行動之前,國旗仍然是不可見的)。 – Gilles
已注意。我可能沒有足夠的聲望來標記這一點 - 正如你可以告訴我是新的。 – iandotkelly
的問題是,這會搞亂所有其他參數是,如果路徑你改變目錄。但是將這兩種表述相結合可以產生理想的效果 –