pushd
Bashシェルは、プログラムでスタックが空でない時期を検出できるようにしたいです。これを検出する方法はありますか?
$SLVLに似た方が良いでしょう。しかし、これまで私が見つけた唯一の解決策は、深さを検出するために生の出力を解析するエイリアスで合計をラップすることですpushd
。popd
これが機能している間、特にエレガントであるとは感じません。 (明らかに情報は環境のどこかに保存されます。)
私の理由は、この場合、プッシュされた深さカウントで私のbashプロンプトを飾りたいからです。
答え1
DIRSTACK
長さを確認できます:
$ [[ ${#DIRSTACK[@]} -gt 1 ]] && echo dir stack non-empty
DIRSTACK
この方法を設定しないと使用できませんのでご注意ください。
答え2
depth=$( ( $(dirs -v | wc -l) -1) )
もう一つの劣った解決策です。