2012-08-29 28 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 
} 
相关问题