ワイルドカードで指定した名前のファイルの存在を確認し、処理を分岐したいと思い、次のようなスクリプトを描きました。
sh
1#!/bin/bash 2out_dir="/xxx/yyy/zzz" 3echo "${out_dir}/*.xyz.gz" 4if ls "${out_dir}/*.xyz.gz" > /dev/null 2>&1 5then 6 echo "file not exists" 7else 8 echo "file already exists" 9fi
しかし、実行すると /xxx/yyy/zzz/sample.xyz.gz の有無にかかわらず、次のようになります。
Tarminal
1$ bash ./sample.sh 2/xxx/yyy/zzz/*.xyz.gz 3file already exists
どのようにすれば、正しく分岐できるでしょうか?

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/11 17:01