testコマンドでファイルの存在確認

備忘のためメモ。
ワイルドカードを使用したファイルの存在確認にtestコマンドは使えない(testコマンドの引数は1個しか駄目駄目)。

bash
$ ls *.txt
hoge.txt        huga.txt
$ test -e *.txt
bash: test: hoge.txt: binary operator expected
$ echo $?
2
$ ls | grep '.txt'
hoge.txt
huga.txt
$ if [ $? -eq 0 ]; then
> echo 'Hello'
> fi
Hello
zsh
$ ls *.txt
hoge.txt        huga.txt
$ test -e *.txt
test: too many arguments
$ echo $?
1
$ ls | grep '.txt'
hoge.txt
huga.txt
$ if [ $? -eq 0 ]; then
then> echo 'Hello'
then> fi
Hello

zshの方がメッセージがちょっち親切ね。