On dirait que vous voulez trouver .myapprc
chaque fois que vous changez de répertoire.
Il y a deux possibilités que vous pouvez utiliser - PROMPT_COMMAND
, et le piège DEBUG
.
Pour ce faire, avec le premier, vous courrais ce qui suit une fois:
PROMPT_COMMAND="[ -f .myapprc ] && . .myapprc"
et avec la seconde:
trap "[ -f .myapprc ] && . .myapprc" DEBUG
Ceux-ci seront la source le fichier une fois pour chaque message, si l'approvisionnement de ce fichier est coûteux, vous pouvez l'étendre pour vérifier si $PWD
a changé.
Vous pouvez également remplacer cd
, mais cela peut casser quelques scripts shell:
alias cd=cd_
function cd_
{
\cd "[email protected]"
local ret=$?
[ -f .myapprc ] && . .myapprc
return $ret
}
Mais faire un de ces est vraiment pas une bonne idée - hey're tous les trous énormes de sécurité puisque vous ll finira par exécuter toutes les commandes .myapprc
quel que soit votre répertoire de travail actuel.
modifier dernière minute pour Joachim - Utilisez ceci avec les PROMPT_COMMAND
/trap
solutions peuvent éviter l'exécution excessive de .myapprc ce qui suit: PROMPT_COMMAND='if [ -f .myapprc -a "$PWD" != "$PWDLAST" ]; then PWDLAST="$PWD"; source .myapprc; fi'
Utilisez '" $ @ "' au lieu de '" $ * "' pour éviter les problèmes de citation. –