所以,我真的很喜欢Fish - 但我需要一些脚本帮助。 特别是找到正在运行的脚本的路径。
这是BASH的解决方案 Getting the source directory of a Bash script from within
任何人都可以帮我找到与鱼相当的东西吗?
答案 0 :(得分:21)
status --current-filename
将输出当前正在执行的脚本的路径。
有关status命令的详细信息,您可以运行man status
或查看http://fishshell.com/docs/current/commands.html#status
答案 1 :(得分:8)
在鱼壳中,
set DIR (cd (dirname (status -f)); and pwd)
相当于BASH one liner
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"`
答案 2 :(得分:2)
要获取脚本的完整路径,请使用status --current-filename
或
set FILE (status --current-filename)
声明变量。
要获取存储脚本的目录的完整路径,请使用dirname (status --current-filename)
或set DIR (dirname (status --current-filename))
来声明变量。
相当于this question的内容如下:
set DIR (dirname (status --current-filename))
是等效的