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