Você pode verificar DIRSTACK
length:
$ [[ ${#DIRSTACK[@]} -gt 1 ]] && echo dir stack non-empty
Observe que você não pode usar este método se DIRSTACK
não estiver definido.
Eu gostaria de poder detectar programaticamente quando minha pilha pushd
não está vazia, dentro de um shell bash. Existe alguma maneira de detectar isso?
Algo parecido com $ SHLVL seria legal. Mas até agora, a única solução que encontrei é envolver pushd
e popd
com aliases que analisam a saída dos originais para detectar a profundidade. Enquanto isso funcionaria, não parece particularmente elegante. (Claramente, a informação é armazenada em algum lugar no ambiente.)
Meu motivo é, eu desejo adornar meu prompt bash com uma contagem de profundidade pushd, quando este for o caso.
depth=$( ( $(dirs -v | wc -l) -1) )
é outra solução inferior.