8
在魚殼腳本中,是否可以獲取shell腳本所在的路徑?在bash中,你可以使用BASH_SOURCE變量來做到這一點。檢索當前源文件與魚的路徑
在魚殼腳本中,是否可以獲取shell腳本所在的路徑?在bash中,你可以使用BASH_SOURCE變量來做到這一點。檢索當前源文件與魚的路徑
一種方法是使用status命令。
例如。
~/tmp> echo status -f > show_filename.fish
~/tmp> fish show_filename.fish
/home/foo/tmp/show_filename.fish
-
啊,對不起 - 用您的評論來看,我誤解了問題。我以爲你的意思是完全合格的路徑,而不是腳本的目錄。
您可以將狀態結果發送到dirname。它不像魚一樣具有內置功能,就像地位一樣,但是魚往往會盡可能多地外包此功能(請參閱「極簡主義規律」,在魚類design doc之上)。我在文檔中看不到任何更好的命令,因此,這可能與我們現在可以獲得的一樣好?
修訂的例子中,改變show_filename.fish的內容是:
dirname (status -f)
現在你應該得到:
~/tmp> fish show_filename.fish
/home/foo/tmp
這是八九不離十。有沒有解析/ home/foo/tmp/show_filename.fish字符串以獲取/ home/foo/tmp的純魚方式? – 2010-12-11 22:33:25
完美!這正是我想要的。 – 2010-12-13 16:53:09
'cd(dirname(status -f));無論您是否在當前目錄中運行腳本,pwd'都會給出絕對路徑。 – Ezbob 2017-01-17 16:20:15