ディレクトリを変更するたびに、.myapprc
をソースにしたいようです。
私が考えることができる2つの方法があります:PROMPT_COMMAND
とDEBUG
トラップです。
は、最初にこれを行うには、一度、以下を実行したい:ので、もし、これらがすべてのプロンプトに一度ファイルをソースします
trap "[ -f .myapprc ] && . .myapprc" DEBUG
:
PROMPT_COMMAND="[ -f .myapprc ] && . .myapprc"
と第二にそのファイルを入手することは費用がかかります。$PWD
が変更されたかどうかを確認するためにファイルを拡張することができます。
またcd
をオーバーライドすることができますが、これは、いくつかのシェルスクリプトを破ることがあります。
alias cd=cd_
function cd_
{
\cd "[email protected]"
local ret=$?
[ -f .myapprc ] && . .myapprc
return $ret
}
しかし、これらのいずれかを行うと、本当に良いアイデアではありません - 「hey'reすべての巨大なセキュリティホールますので、あなたの現在の作業ディレクトリが何であれ、どんなコマンドでも.myapprc
が実行されます。ヨアヒムため
後期編集 - ソリューションは、以下で.myapprcの過度の実行を回避することができPROMPT_COMMAND
/trap
でこれを使用します。 PROMPT_COMMAND='if [ -f .myapprc -a "$PWD" != "$PWDLAST" ]; then PWDLAST="$PWD"; source .myapprc; fi'
クォートの問題を回避するには、 '' $ * "'の代わりに '' @ @ ''を使用します。 –