2010-01-10 41 views

回答

9

一種方法是使用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 
+0

這是八九不離十。有沒有解析/ home/foo/tmp/show_filename.fish字符串以獲取/ home/foo/tmp的純魚方式? – 2010-12-11 22:33:25

+0

完美!這正是我想要的。 – 2010-12-13 16:53:09

+0

'cd(dirname(status -f));無論您是否在當前目錄中運行腳本,pwd'都會給出絕對路徑。 – Ezbob 2017-01-17 16:20:15