O problema está na sua declaração if. Você pode substituí-lo com:
if [ -d /var/www/upload/ ];
(em vez de verificar se existe um arquivo, o que causa um erro se houver mais de um arquivo, ele verifica se o diretório existe)
Estou tentando mover o arquivo enviado para outro servidor usando o scp. a seguir está o script que estou usando e erro;
"mv.sh"
#!/bin/sh
now=$(date +"%y-%m-%d-%M")
cd /var/www/upload
if [ -f /var/www/upload/* ];
then
scp -P 88 * [email protected]:backup/
STATUS=$?
echo "$now-S1:succesful." >> /var/log/mv_to.log
else
echo "$now-S1:Error!!" >> /var/log/mv_to.log
fi
erro;
[: 13: /var/www/upload/1.doc: unexpected operator
Se houver apenas um arquivo, ele funcionará bem e, se houver dois ou mais arquivos, ele informará operador inesperado. Por favor me corrija aqui.