2012-08-29 6 views
6

変数が利用可能で、私のbashシェルはpwdに似ていますが、パス全体ではなく現在の作業ディレクトリのセクションと同じです。ディレクトリが変更されるたびにbash変数を設定してください

すなわち、

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

は、私はすでにこのパスを表示するプロンプトを持っているが、私は、この値に、私はディレクトリを変更するたびに、環境内の変数を更新したいと思います。

どうすればいいですか?

+0

あなたは、あなたのbashプロンプトのためにこの環境変数が必要なのですか、あなたにそれを使用しますコマンドも? – jolivier

+0

私は変数を使ってシェルでコマンドを実行できるようにしたいと思います。 – Tom

答えて

5

promptcmd機能を使用できます。 man bashから、この機能はプロンプトを表示する直前に実行されることがわかります。これはデフォルトでは空です(または定義されていない)。

簡単な例:

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

あなたの.bashrcaliasや機能を使用することができます。

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