Vous pouvez le faire en exécutant les opérations suivantes dans le contexte du shell (par exemple, .bashrc).
xcd() {
if [[ "$1" == "production" ]] ; then
echo Warning, you are in production.
fi
builtin cd $1
}
alias cd=xcd
Cela crée une fonction alors alias la commande cd
à cette fonction. La fonction elle-même fournit l'avertissement puis appelle le vrai cd
.
Une meilleure solution, peut cependant être de détecter les chemins réels, puisque la solution que vous avez demandé vous donnera un faux positif pour "cd $HOME ; cd production"
et faux négatifs pour "cd /production/x"
(si /production
était en effet la zone dangereuse).
je ferais quelque chose comme:
#!/bin/bash
export xcd_warn="/home/pax /tmp"
xcd() {
builtin cd $1
export xcd_path=$(pwd)
for i in ${xcd_warn} ; do
echo ${xcd_path}/ | grep "^${i}/"
if [[ $? -eq 0 ]] ; then
echo Warning, you are in ${i}.
fi
done
}
alias cd=xcd
qui vous permettra de configurer les répertoires de danger de niveau supérieur comme des chemins absolus.
Une question similaire ici: http://unix.stackexchange.com/questions/18532/show-message-when-cd-into-specific-directory –