我的一个伙伴终于让我开始使用Fish Shell,我试图将它设置为类似于我的Bash.将PS1在我.bash_profile列出的当前目录我在,随后>.然而,它不是绝对路径(例如/Users/me/Documents/...或~/Documents/...).如果我在/Users/me/Documents/projects/Go/project1/,提示就会说project1 >.
是否有\W替代可用于Bash替换的鱼壳?再一次,我只想要我所在的文件夹,而不是完整的路径.我知道你可以使用echo (pwd)所有这些.
我已经查看了该basename程序,echo "${PWD##*/}"但是这些似乎只适用于Bash.
Jul*_*man 14
取自@Jubobs的回答:
basename只是一个Unix工具; 它与特定的shell无关,在Bash和Fish中应该同样有效.
看来我basename在错误的上下文中使用,没有后缀.
这通过使用以下方法解决:
function fish_prompt
echo (basename $PWD) "><> "
end
Run Code Online (Sandbox Code Playgroud)
另一种选择:fish 附带一个名为的函数,该函数prompt_pwd显示/Users/me/Documents/projects/Go/project1/为~/D/p/G/project1
function fish_prompt
echo (prompt_pwd) "><> "
end
Run Code Online (Sandbox Code Playgroud)