Seu processo (chamado $$ ) tem um "diretório atual", ~/Downloads .
Quando você ./cd-backward , esse script Bash é executado em seu próprio processo, que possui seu próprio "Diretório Atual", que inicia como ~/Downloads .
O cd .. afeta o "diretório atual" do processo ./cd-backward , alterando-o para ~ , mas NÃO afetando o "diretório atual" do seu processo original.
./cd-backward termina, seu processo sai e o cd .. é esquecido.
Aqui estão duas maneiras de afetar o meu próprio "diretório atual", mantido em meu '~ / .bashrc':
Primeiro, alguns alias es:
alias ..='cd ..'
alias ...='cd .. ; cd ..'
Veja como eu mantenho meu diretório atual no título da minha janela (através da interceptação de cd ):
# from the "xttitle(1)" man page - put info in window title
update_title()
{
[[ $TERM = xterm ]] || [[ $TERM = xterm-color ]] && xttitle "[$$] ${USER}@${HOSTNAME}:$PWD"
}
cd()
{
[[ -z "$*" ]] && builtin cd $HOME
[[ -n "$*" ]] && builtin cd "$*"
update_title
}