シェルスクリプトでディレクトリを列挙するなら */ がおすすめ

シェルスクリプトでディレクトリを列挙するなら */ がおすすめ

シェルスクリプトでカレントディレクトリにあるディレクトリだけを対象に処理したいことがあります。私はこれまで、以下のように ls -F を使っていました。

for d in $(ls -F | grep /); do
    echo "$d"
done

ls -F はディレクトリ名の末尾に / を付加するので、grep / でディレクトリだけを抽出するという発想です。これでも動くのですが、実はもっとシンプルで安全な方法がありました。

続きを読む