変数が利用可能で、私のbashシェルはpwd
に似ていますが、パス全体ではなく現在の作業ディレクトリのセクションと同じです。ディレクトリが変更されるたびにbash変数を設定してください
すなわち、
$PWD=/a/b/c/d/e/f
$PATH_SECT=c/d/e
は、私はすでにこのパスを表示するプロンプトを持っているが、私は、この値に、私はディレクトリを変更するたびに、環境内の変数を更新したいと思います。
どうすればいいですか?
変数が利用可能で、私のbashシェルは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\/}
}
あなたの.bashrc
でalias
や機能を使用することができます。
alias cd="supercd" # call the function
function supercd(){
builtin cd "[email protected]" # original cd
PATH_SECT=$(pwd) # or whatever
}
あなたは、あなたのbashプロンプトのためにこの環境変数が必要なのですか、あなたにそれを使用しますコマンドも? – jolivier
私は変数を使ってシェルでコマンドを実行できるようにしたいと思います。 – Tom