在函数.bashrc中获取当前目录,而不是路径

时间:2011-08-11 01:08:53

标签: bash rvm

如果当前rvm gemset的名称与当前目录的名称不匹配,我想在提示符中显示*。我可以使用$(~/.rvm/bin/rvm-prompt g)获取当前gemset的名称,如果gemset为foo,则返回@foo

我已经尝试了"@${PWD##*/}""@${\W}",但遗憾的是没有成功。我的整个函数看起来像这样:

function ps1_rvm() {
  [[ $(~/.rvm/bin/rvm-prompt g) != "@${PWD##*/}" ]] && echo "*"
}

然后我使用此函数设置PS1的值,以便输出到我的提示符。

编辑:我想获取目录名称,而不是路径。

1 个答案:

答案 0 :(得分:3)

你试过吗

function ps1_rvm() {
  [[ $(~/.rvm/bin/rvm-prompt g) != $(basename $(pwd)) ]] && echo "*"
}

?这应该有用......