Я пытаюсь переместить загруженный файл на другой сервер с помощью scp. Ниже приведен скрипт, который я использую и ошибка;

"Mv.sh"

#!/bin/sh
now=$(date +"%y-%m-%d-%M")
    cd /var/www/upload

        if [ -f /var/www/upload/* ];
        then
                    scp -P 88 * user@192.168.2.1:backup/
        STATUS=$?
        echo "$now-S1:succesful." >> /var/log/mv_to.log
        else
            echo "$now-S1:Error!!" >> /var/log/mv_to.log
    fi

ошибка;

[: 13: /var/www/upload/1.doc: unexpected operator

Если есть только один файл, он работает нормально, и если есть два или более файлов, это говорит неожиданный оператор. Пожалуйста, поправьте меня здесь.

1 ответ1

1

Проблема в вашем заявлении if. Вы можете заменить его на:

    if [ -d /var/www/upload/ ];

(вместо проверки того, что файл существует, что выдает ошибку, если существует более одного файла, он проверяет, что каталог существует)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .