xyz.PDFファイルがある場合は動作します。
[ -e *.PDF* ] && echo 'yes'
ただし、次の2つのファイルがある場合
xyz.PDF
abc.PDF
わかりました。
$ [ -e *.PDF* ] && echo 'yes'
-bash: [: sometstgg.PDF: binary operator expected
この問題を解決し、1つ以上のファイルを許可するにはどうすればよいですか?
答え1
set -- *.PDF
[ "$#" -gt 0 ] && [ "$*" != "*.PDF" ] && echo 'yes'
おそらくより良い解決策があるでしょう。*.PDF
実際の名前のエントリがあると失敗するからです。
bash
それだけで十分だと思うから
shopt -s nullglob
set -- *.PDF
[[ "$#" -gt 0 ]] && echo yes
ではksh93
これで十分に見えます:
[ -e *.PDF ] && echo yes