我的一个伙伴终于让我开始使用Fish Shell,我正在尝试将其设置为类似于Bash的设置。我的PS1
中的.bash_profile
列出了我所在的当前目录,然后列出了>
。但是,它不是绝对路径(例如/Users/me/Documents/...
或~/Documents/...
)。如果我使用的是/Users/me/Documents/projects/Go/project1/
,则提示将只是说project1 >
。
有Bash可用的Fish Shell替代\W
替代吗?同样,我只想要我所在的文件夹,而不是完整路径。我知道您可以使用echo (pwd)
来完成所有操作。
我已经研究了basename
程序和echo "${PWD##*/}"
,但是它们似乎仅在Bash中有效。
最佳答案
摘自@Jubobs的答案:basename
只是一个Unix实用程序;它与特定的 shell 无关,并且在Bash和Fish中应同样有效。
看来我在错误的上下文中使用了basename
,并且没有后缀。
通过使用以下方法解决了这个问题:
function fish_prompt
echo (basename $PWD) "><> "
end
关于prompt - 在Fish Shell中获取当前目录(没有完整路径),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31252573/