2013-10-15 7 views
0

У меня есть небольшая проблема относительно «sftp».linux sftp: ошибка передачи файла

У меня есть сценарий, который просто переносит файл на удаленный сервер sftp. Но когда этот скрипт работает, он терпит неудачу в sftp, и мой скрипт терпит неудачу. Итак, мне нужно вручную перенести файл, используя команду, которая аналогична команде, которую я использовал в скрипте, и она отлично работает.

Итак, моя проблема заключается в том, что команда sftp работает плавно, когда я запускаю ее вручную, но создает проблему, когда одна и та же команда запускается через скрипт.

это код, который я использую

sftp -v -b sftp_input.txt [email protected] 
if (($? > 0)); 
then 
    echo "sftp error. Exiting.." 
    exit 
fi 

где sftp_input.txt содержит ЦМД, чтобы поместить файл на удаленный сервер.

Пожалуйста совет .....

ответ

0

Сценарий не может работать, потому что это неправильный формат. Вы забыли отделить заявление if, а также забыли закрыть fi. Вот правильная форма для вашего сценария:

sftp -v -b sftp_input.txt [email protected] 
if (($? > 0)); then 
    echo "sftp error. Exiting.." 
    exit 
fi 

Если вы хотите, чтобы все это в одной строке, а затем:

sftp -v -b sftp_input.txt [email protected]; if (($? > 0)); then echo "sftp error. Exiting.."; exit; fi 

Но как вы можете видеть, что это плохая идея. Лучше писать читаемый и хорошо сшитый код.

Смежные вопросы