2012-08-29 23 views
6

我想要一個類似於pwd的變量,但它等於當前工作目錄的一部分,而不是整個路徑。每當目錄更改時設置一個bash變量

$PWD=/a/b/c/d/e/f 
$PATH_SECT=c/d/e 

我有已顯示此路徑的提示,但我想每個I改變目錄時在環境變量來更新該值。

我該怎麼做?

+0

你需要這個環境變量只爲您的bash提示符或使用它你命令也? – jolivier

+0

我希望能夠使用變量在shell中運行命令。 – Tom

回答

5

您可以使用promptcmd函數。從man bash我們知道這個函數是在顯示提示之前執行的。默認情況下它是空的(或者說,沒有定義)。

一個簡單的例子:

promptcmd(){ 
    local p=$(pwd) 
    PATH_SECT=${p/\/a\/b\/} 
} 
1

您可以使用一個alias和功能時,您.bashrc

alias cd="supercd" # call the function 
function supercd(){ 
    builtin cd "[email protected]" # original cd 
    PATH_SECT=$(pwd) # or whatever 
} 
相關問題