o problema é que a expansão star ( *
) é feita pelo bash.
com um arquivo doku *
mybox $ touch dokuwiki.09-12-14-06-00.toolbox.admin.tar.gz
mybox $ date='date +"%m-%d-%y"'
mybox $ echo $date
09-12-14
mybox $ dokuwiki="dokuwiki.$date*.toolbox.admin.tar.gz"
mybox $ echo $dokuwiki
dokuwiki.09-12-14-06-00.toolbox.admin.tar.gz
mybox $ test -e $dokuwiki ; echo $?
0
com dois arquivos docu *
mybox $ touch dokuwiki.09-12-14-05-00.toolbox.admin.tar.gz
mybox $ test -e $dokuwiki ; echo $?
-bash: test: dokuwiki.09-12-14-06-00.toolbox.admin.tar.gz: binary operator expected
2
a linha test -e doku*
é expandida em test -e doku-1 doku2
.
você pode querer usar
if ls $dokuwiki > /dev/null 2>&1
then
...
como parte do teste.