Que tal: cd "$(dirs -l -p | sed -n '2{p;q}')"
Como posso obter o comportamento de usar popd sem realmente remover o último diretório da pilha? Em outras palavras, eu quero navegar de volta para o último diretório que eu configurei com pushd , mas eu quero que ele fique no topo da pilha, então o próximo popd me levará para o mesmo diretório (o que ainda seria estar no topo da pilha) novamente.
Que tal: cd "$(dirs -l -p | sed -n '2{p;q}')"
pushd sem argumentos troca as duas primeiras entradas da pilha, permitindo que você efetue cd entre elas.
Começando em d1, execute pushd d2 adiciona d1 e d2 à pilha e deixa você em d2. Execute pushd novamente sem argumentos, e você estará de volta em d1 com d1 e d2 invertidos na pilha.
Se eu entendi corretamente, você poderia pushd . logo após popd , então o diretório pop ed será colocado novamente no topo da pilha.