Uma das maneiras de fazer isso é por meio do comando alias
:
alias cdgit="cd /foo; git status"
Em seguida, você executa cdgit
e acessa o diretório /foo
e exec git status
Está disponível para definir o script para ser executado em um diretório específico, quando você cd
?
Por exemplo, se /foo
for um diretório com git
project, é possível, quando cd /foo
executar automaticamente git status
ou alguns npm
scripts?
Por favor, não associe a resposta estritamente a git
, imagine que poderia ser qualquer outro comando / script.
Eu uso algo semelhante à resposta de Stephen Kitt no meu .bashrc
:
function cd() {
command cd "$@" || return
if [[ -d .git ]]
then
git status --short
else
ls -al
fi
}
Você pode criar condições adicionais para lidar com coisas diferentes conforme necessário.
NOTA: como estamos vencendo a referência ao comando cd
, você precisa usar command cd
, builtin cd
ou \cd
para impedir que a função chame a si mesma e recaia para sempre. Por esse motivo, alguns podem achar útil renomear esta função.
Você pode substituir cd
por uma função que adicione qualquer processamento desejado:
cd() {
builtin cd "$@"
# Do whatever you want here
}
Tags bash cd-command shell