Bash tem uma variável especial PROMPT_COMMAND
cujo conteúdo é executado toda vez após o comando é executado, então você pode configurá-lo da seguinte forma:
PROMPT_COMMAND='[[ "$PWD" = /tmp ]] && { alias ll=ls; echo "Remember: ll=ls"; } || { unalias ll 2>/dev/null; }'
De agora em diante, toda vez que você estiver no diretório /tmp
, o alias ll
será criado e, em todos os outros diretórios, ele será removido.
Provavelmente, mais prático é reunir todos os seus aliases e outras coisas em uma função (digamos makealias
) e todas as unaliases na outra função makeunalias
, que você pode executar dependendo de suas necessidades, algo como
PROMPT_COMMAND='[[ "$PWD" = /tmp ]] && makealias || makeunalias 2>/dev/null'
Observe que o redirecionamento stderr está presente apenas para evitar alguns alertas inúteis, neste caso.