在fish shell脚本中,是否可以获得shell脚本所在的路径?在 bash 中,您可以使用 BASH_SOURCE 变量来执行此操作。
问问题
1315 次
1 回答
9
一种方法是使用status命令。
例如。
~/tmp> echo status -f > show_filename.fish
~/tmp> fish show_filename.fish
/home/foo/tmp/show_filename.fish
--
啊,对不起 - 从你的评论来看,我误读了这个问题。我以为您的意思是完全限定的路径,而不是脚本的目录。
您可以将状态结果发送到 dirname。它不是 fish 的内置功能,就像 status 一样,但 fish 倾向于尽可能多地外包此功能(请参阅 fish设计文档中的“极简主义法则” )。我在文档中看不到任何更好的命令,所以也许这和我们现在能得到的一样好?
修改示例,将 show_filename.fish 的内容更改为:
dirname (status -f)
现在你应该得到:
~/tmp> fish show_filename.fish
/home/foo/tmp
于 2010-12-10T08:59:47.287 回答