¿Está disponible configurar el script para que se ejecute en un directorio en particular cuando ingresa a cd
él?
Por ejemplo, si /foo
es un directorio con git
un proyecto, ¿es posible cd /foo
ejecutarlo automáticamente git status
o algunos npm
scripts?
No vincule la respuesta estrictamente a git
, imagine que podría ser cualquier otro comando/script.
Respuesta1
Puede reemplazar cd
con una función que agregue cualquier procesamiento que desee:
cd() {
builtin cd "$@"
# Do whatever you want here
}
Respuesta2
Utilizo algo similar a la respuesta de Stephen Kitt en mi .bashrc
:
function cd() {
command cd "$@" || return
if [[ -d .git ]]
then
git status --short
else
ls -al
fi
}
Puede crear condiciones adicionales para manejar diferentes cosas según sea necesario.
NOTA: dado que estamos bloqueando la referencia al cd
comando, debe usar command cd
, builtin cd
o \cd
para evitar que la función se llame a sí misma y se repita para siempre. Por este motivo, a algunos les puede resultar útil cambiar el nombre de esta función.
Respuesta3
Una de las formas de hacerlo es mediante alias
el comando:
alias cdgit="cd /foo; git status"
Luego ejecutas cdgit
y vas al directorio /foo
y ejecutas.git status