我的一个伙伴终于让我开始使用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/

10-12 00:42
查看更多