Mantenha $ OLDPWD entre as sessões da Shell

3

Muitas vezes, eu estou saindo do terminal e no dia seguinte o executo novamente. Então eu quero poder voltar rapidamente ao último diretório de trabalho.

Eu gostaria de fazer isso usando cd - como de costume. Mas $OLDPWD não é mantido entre sessões de terminal.

Então, adicionei um alias para exit para gravar pwd em um arquivo e lê-lo na próxima vez.

alias exit='pwd > ~/.lwd && exit;'
test -f ~/.lwd && export OLDPWD='head -1 ~/.lwd'

Isso funciona perfeitamente para exit .

Como posso criar o mesmo alias (ou fazer um trap) para Ctrl+D ?

    
por RoVo 11.05.2017 / 08:39

2 respostas

4

Use trap para adicionar um manipulador para EXIT :

trap 'pwd > ~/.lwd' EXIT

Isto deve tratar tanto o comando exit como o Ctrl D . O resto, você pode fazer como com o alias.

    
por muru 11.05.2017 / 09:06
2

Agradecemos a Anwar para me conduzir na direção certa. Esta postagem do Unix & amp; O Stack Stack do Linux me ajudou.

Eu criei um arquivo ~/.bash_logout com o seguinte conteúdo:

echo "$PWD" > ~/.lwd

Em ~/.bashrc I adicionado:

test -f ~/.lwd && export OLDPWD='head -1 ~/.lwd'

Isso funciona para exit e Ctrl D para o gnome-terminal e para conexões ssh.

    
por RoVo 11.05.2017 / 09:06