У меня есть 1 вопрос относительно SFTP, если я успешно подключиться к серверу и загрузить файл, он возвращает 0, если сервер не подключен он ВЕРНУТЬ 255.Bash Script SFTP код возврата сравнения
$ ? переменная return 0 if success, return 255 if failed, но как-то в инструкции if-else результат всегда будет иметь успех даже $? возвращает 255, любая идея? я не уверен, что если способ сравнения является правильным или нет, я пытался как сравнить шпагатом и ИНТ
sftp [email protected]$ftpaddr <<_FTP>>$ftplogs
cd /$DEST_DIR
mput $FILE_NAME*
quit
pwd >> $ftplogs
_FTP
echo $?;
if [ $? -eq 0 ];
then
mv $FILE_NAME* $ARCHIVE_DIR
echo "Success"
elif [ $? -eq 255 ]
then
echo "Failed"
exit 1
else
echo "Unknown error"
exit 1
fi
РЕЗУЛЬТАТ:
Не удалось прочитать пакет: сброс соединения одноранговой
Успех
Удалить «echo $ ?;'. – Cyrus
Я попытался удалить echo $ ?; и если [$? -eq 0]; затем ... , но на этот раз он будет идти к «Unknow ошибке» – hades
ах, NVM, я нашел его ... мой error..lol ... все равно спасибо – hades