6
我想要一個類似於pwd
的變量,但它等於當前工作目錄的一部分,而不是整個路徑。每當目錄更改時設置一個bash變量
即
$PWD=/a/b/c/d/e/f
$PATH_SECT=c/d/e
我有已顯示此路徑的提示,但我想每個I改變目錄時在環境變量來更新該值。
我該怎麼做?
我想要一個類似於pwd
的變量,但它等於當前工作目錄的一部分,而不是整個路徑。每當目錄更改時設置一個bash變量
即
$PWD=/a/b/c/d/e/f
$PATH_SECT=c/d/e
我有已顯示此路徑的提示,但我想每個I改變目錄時在環境變量來更新該值。
我該怎麼做?
您可以使用promptcmd
函數。從man bash
我們知道這個函數是在顯示提示之前執行的。默認情況下它是空的(或者說,沒有定義)。
一個簡單的例子:
promptcmd(){
local p=$(pwd)
PATH_SECT=${p/\/a\/b\/}
}
您可以使用一個alias
和功能時,您.bashrc
:
alias cd="supercd" # call the function
function supercd(){
builtin cd "[email protected]" # original cd
PATH_SECT=$(pwd) # or whatever
}
你需要這個環境變量只爲您的bash提示符或使用它你命令也? – jolivier
我希望能夠使用變量在shell中運行命令。 – Tom