2011-08-11 119 views
1

如果當前rvm gemset的名稱與當前目錄的名稱不匹配,我想在我的提示中顯示*。我可以通過使用$(~/.rvm/bin/rvm-prompt g)來獲得當前gemset的名稱,如果gemset是foo,將返回@foo在函數中獲取當前目錄,而不是路徑.bashrc

我試過"@${PWD##*/}""@${\W}",但不幸的是沒有成功。我的整個功能是這樣的:

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

我然後用這個函數來設置PS1的值,以便它輸出到我的提示。

編輯:我想獲取目錄名稱,而不是路徑。

回答

3

你試過

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

?這應該工作...

+0

$ {PWD}或$(pwd)。祝你好運。 – shellter

+0

嗨,謝謝你的回答。不幸的是,這返回目錄路徑,而不是目錄名稱。 –

+0

嗨,很抱歉沒有完全讀你的問題。我更新了答案,請再試一次。 我還修復了密碼錯誤。 – keks

相關問題