7

pwdパス全体ではなく、現在の作業ディレクトリのセクションに類似しているが等しい変数をbashシェルで使用できるようにしたいと思います。

すなわち、

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

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

どうすればこれを行うことができますか?

4

2 に答える 2

5

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

簡単な例:

promptcmd(){
    local p=$(pwd)
    PATH_SECT=${p/\/a\/b\/}
}
于 2012-08-29T11:02:38.270 に答える
1

aliasで と 関数を使用できます.bashrc

alias cd="supercd"  # call the function
function supercd(){
  builtin cd "$@"   # original cd
  PATH_SECT=$(pwd)  # or whatever
}
于 2012-08-29T12:34:51.977 に答える