pwd
パス全体ではなく、現在の作業ディレクトリのセクションに類似しているが等しい変数をbashシェルで使用できるようにしたいと思います。
すなわち、
$PWD=/a/b/c/d/e/f
$PATH_SECT=c/d/e
このパスを表示するプロンプトがすでに表示されていますが、ディレクトリを変更するたびに、環境内の変数をこの値に更新したいと思います。
どうすればこれを行うことができますか?
機能を使用できますpromptcmd
。からman bash
、この関数はプロンプトを表示する直前に実行されることがわかります。デフォルトでは空です(というか、定義されていません)。
簡単な例:
promptcmd(){
local p=$(pwd)
PATH_SECT=${p/\/a\/b\/}
}
alias
で と 関数を使用できます.bashrc
。
alias cd="supercd" # call the function
function supercd(){
builtin cd "$@" # original cd
PATH_SECT=$(pwd) # or whatever
}