1
我有一個關於SFTP 1個問題,如果我成功地連接到服務器,並上傳的文件,它會返回0,如果服務器沒有連接,將返回255bash腳本SFTP返回碼比較
的$ ?變量返回0如果成功,返回255如果失敗,但不知何故在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 2014-10-20 07:49:50
我試過刪除echo $?; 和 if [$? -eq 0]; 然後 ... 但這次它會去「未知錯誤」 – hades 2014-10-20 07:54:16
啊,nvm,我發現它......我的錯誤..大聲笑......謝謝 – hades 2014-10-20 08:01:14