dirs -c
é o que você está procurando.
Após pushd
ing muitas vezes, quero limpar toda a pilha de caminhos.
Como eu popd
todos os itens na pilha?
Gostaria de popd
sem precisar saber quantos estão na pilha?
O manual do bash não parece parece cobrir isso .
Por que preciso saber disso? Eu sou exigente e limpo a pilha.
Para esvaziar a pilha e restaurar o diretório de trabalho da parte inferior da pilha:
recupere esse diretório de dirs
, mude para esse diretório e limpe a pilha:
cd "$(dirs -l -0)" && dirs -c
A opção -l
aqui listará os caminhos completos, para garantir que não falharemos se tentarmos cd
em ~
e o -0
recuperar a primeira entrada da parte inferior da pilha.
@ jw013 sugeriu tornar esse comando mais robusto, evitando expansões de caminho:
pushd -0 && dirs -c
ou, popd
até encontrar um erro (que é o status de uma chamada popd
quando a pilha de diretórios está vazia):
while (( $? == 0 )); do popd; done