Como posso fazer pop-ups em um diretório específico?

2

Eu usei pushd para ir para vários diretórios e agora, se eu executar

dirs -v

Eu recebo:

 0  ~/Desktop
 1  /etc
 2  /var/log
 3  ~/Downloads
 4  /tmp

Como posso popd para um diretório específico no meio da pilha ?, por exemplo, option 2: /var/log

man bash diz

+n Removes the nth entry counting from the left of the list shown
by dirs, starting with zero. For example: ''popd +0'' removes the
first directory, ''popd +1'' the second.

Eu tentei

  • '' popd +0 ''
  • popd +3

E aparece o diretório correto da pilha, mas não altera o diretório de trabalho atual.

Como posso popd o diretório específico e alterar o diretório de trabalho atual para o diretório "popped"?

    
por the_velour_fog 12.04.2015 / 18:59

2 respostas

3
cd "'dirs +<number>'"

onde <number> é 0 ou 3 ou qualquer outra coisa.

De qualquer forma, recomendo que você verifique um invólucro de cd, como link , que push es na pilha de dirs em segundo plano e permite fazer cd -- em vez de dirs -v e cd -<number> para entrar no diretório desejado. Ele também substitui os tildas iniciais por $HOME , eliminando o problema que você mencionou nos comentários.

    
por 12.04.2015 / 19:04
0

Encontrei o script no arquivo .bashrc na distribuição do Cygwin. Não funcionou corretamente porque na linha 20

adir=$(dirs +$index)

adir agora inclui o índice, por exemplo, '2 / cygdrive / d', então adicionei uma linha a seguir

adir=${adir:4}

e parece funcionar

    
por 19.06.2018 / 15:19

Tags