0
我正在使用下面的代碼來連接ftp節點。我只想知道如何檢查我無法與ftp服務器連接或者ftp服務器沒有響應。在任何情況下,它都會提醒我ftp服務器正常或關閉。其實我想嵌入正常的bash代碼來檢查連接性。在Bash腳本中需要FTP連接確認
#!/bin/ksh
ftp -nv <<EOF
open xxx.xx.xx.xx
user xxx xxxxxxxxx
bye
EOF
我正在使用下面的代碼來連接ftp節點。我只想知道如何檢查我無法與ftp服務器連接或者ftp服務器沒有響應。在任何情況下,它都會提醒我ftp服務器正常或關閉。其實我想嵌入正常的bash代碼來檢查連接性。在Bash腳本中需要FTP連接確認
#!/bin/ksh
ftp -nv <<EOF
open xxx.xx.xx.xx
user xxx xxxxxxxxx
bye
EOF
如何從ftp輸出輸出?我不知道您的FTP回報的版本時,它的完成上傳成功,但這樣的:
#!/bin/ksh
(
ftp -nv <<EOF
open xxx.xx.xx.xx
user xxx xxxxxxxxx
bye
EOF
) | grep -i "success"
if [[ "$?" -eq "0" ]]
then
echo "FTP SUCCESS"
else
echo "FTP FAIL"
fi
應該工作..
我之前得到了同樣的問題,以檢查它解決了來自ftp命令的輸出。不過,發現它很奇怪,所以我決定使用PERL。
#!/usr/bin/perl
use strict;
use warnings;
use Net::FTP;
# open connection
my $ftp = Net::FTP->new("127.0.0.1");
if (! $ftp) {
print "connection failed!";
exit 1;
}
# in case you would need to test login too
# if (! $ftp->login("username", "password")) {
# print "login failed!";
# exit 2;
#}
$ftp->close();
exit 0;
給下面的錯誤 ./noini.sh[3]:在3行語法錯誤:'<<」無與倫比 – Dogar
嗯,可能是bash和ksh的之間的差別(我沒有)簡單的腳本通常是兼容的,但在這種情況下可能不是。 – Benj
您的代碼適用於我的環境。 @Dogar:確保兩個EOF副本都沒有隱藏的字符(空格,製表符,??)。祝你們好運。 – shellter