溫馨提示×

shell如何判斷sftp上傳是否成功

小億
573
2023-11-13 17:33:08
欄目: 編程語言

在Shell中,可以使用變量$?來判斷上一個命令的執行結果。如果命令執行成功,則$?的值為0;如果命令執行失敗,則$?的值為非零值。

根據這個特性,可以使用以下方法判斷sftp上傳是否成功:

  1. 使用sftp命令上傳文件,并將上傳結果保存到一個臨時文件中:

    sftp user@host:/path/to/destination localfile > upload.log 2>&1
    

    這里將sftp命令的輸出重定向到upload.log文件中。

  2. 檢查upload.log文件的內容,如果文件中包含類似"Successfully uploaded"的關鍵字,則表示上傳成功;否則表示上傳失敗。

    if grep -q "Successfully uploaded" upload.log; then
        echo "Upload successful"
    else
        echo "Upload failed"
    fi
    

    這里使用grep命令來搜索upload.log文件中是否包含"Successfully uploaded"關鍵字,并通過if語句判斷上傳結果。

注意:這種方法只是判斷sftp命令的執行結果,而不一定表示文件上傳成功??赡艽嬖诰W絡中斷、權限問題等導致上傳失敗但命令仍然執行成功的情況。如果需要更可靠的判斷文件是否上傳成功,可以考慮使用其他方法,如檢查目標服務器上文件的存在與大小。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女