Bashの条件分岐でフォルダが空の時に特定の処理をしたいとき
今回はBashの条件分岐でフォルダが空の時に特定の処理をしたいときどのようにすれば良いのかについてご紹介していこうと思います。
Bashの条件分岐でフォルダが空の時に特定の処理をしたいとき
結論から言うと、次の2パターンあります。
nのオプションとzのオプションは対になっており、nのオプションはTRUEなら処理を行い、zのオプションはFALSEなら処理を行います。
「/path/to/sample_dir」は空かどうか確かめたい対象のフォルダとなります。
1 2 3 4 5 |
if [ -z "$(ls -A /path/to/sample_dir)" ]; then echo "Empty" else echo "Not Empty" fi |
1 2 3 4 5 |
if [ ! -n "$(ls -A /path/to/sample_dir)" ]; then echo "Empty" else echo "Not Empty" fi |
余談ですが、私はエクスクラメーションマークが変な位置にあったのに気づかずに意図したTRUE/FALSEにならなかったので少しハマりました。
1 2 3 4 5 |
if [ -n "$(ls -A /path/to/sample_dir)" ! ]; then echo "Empty" else echo "Not Empty" fi |
終わりに
今回はBashの条件分岐でフォルダが空の時に特定の処理をしたいときどのようにすれば良いのかについてご紹介いたしました。
ディスカッション
コメント一覧
まだ、コメントがありません