当前位置: 技术问答>linux和unix
如何在shell中判断ftp是否成功
来源: 互联网 发布时间:2015-08-20
本文导语: 如何在shell中判断ftp是否已经成功? 多谢! | ftp时,用-i关闭交互式模式,并用here document执行一批ftp命令,将标准输出和标准错误都定向到一个文件。这样,成功的情况下,文件大小是0。如...
如何在shell中判断ftp是否已经成功?
多谢!
多谢!
|
ftp时,用-i关闭交互式模式,并用here document执行一批ftp命令,将标准输出和标准错误都定向到一个文件。这样,成功的情况下,文件大小是0。如果出错,文件大小就不是0。例子如下:
至于ftp如何不必提供用户名和密码就登陆到远端机器,可参看man page
#$1 is remote host, $2 is local file, $3 is remote file
ftp -i $1 1>my.log 2>&1 put $2 $3
bye
!!
if [ -s my.log ]
then
exit 1
else
exit 0
fi
至于ftp如何不必提供用户名和密码就登陆到远端机器,可参看man page
#$1 is remote host, $2 is local file, $3 is remote file
ftp -i $1 1>my.log 2>&1 put $2 $3
bye
!!
if [ -s my.log ]
then
exit 1
else
exit 0
fi
|
如楼上,更改部分内容,如下,再试试
ftp -i $1 1>my.log 2>err.log bin
put $2 $3
bye
!!
if [ -s err.log ]
#检测错误输出是否有内容
then
exit 1
else
exit 0
fi
ftp -i $1 1>my.log 2>err.log bin
put $2 $3
bye
!!
if [ -s err.log ]
#检测错误输出是否有内容
then
exit 1
else
exit 0
fi
|
问题不明确啊!
在shell中要检查一个command是不是成功,可以用这个command的返回值来确定,一般为0表示成功,否则即为错误。
btw:特殊变量$?即是上一个命令的返回值。
在shell中要检查一个command是不是成功,可以用这个command的返回值来确定,一般为0表示成功,否则即为错误。
btw:特殊变量$?即是上一个命令的返回值。
|
你是指你的ftp服务是否成功运行吧?
ftp localhost即可
你若是想知道是否登上ftp服务器
可以通过!pwd和pwd命令对比一下便知道了.
ftp localhost即可
你若是想知道是否登上ftp服务器
可以通过!pwd和pwd命令对比一下便知道了.
|
在shell中执行ftp,然后看返回值
|
不知这样能不能判断出来。
if ftp ...
echo "ok"
fi
if ftp ...
echo "ok"
fi
|
sunbinsunbin(sunbin) ( ) 信誉:100 2004-11-23 08:56:00 得分: 0
我用上面的方法测试了,不管是否成功,my.log总是有东西,不过内容不同,成功时,内容如下:
Interactive mode on.
Local directory now /home/lccx/bin/DZ/BAK
mput YYBBB200411.TXT?
不成功时,内容如下:
ftp: connect: A remote host did not respond within the timeout period.
Not connected.
Not connected.
Not connected.
Interactive mode on.
Local directory now /home/lccx/bin/DZ/BAK
Not connected.
如何使用shell区分这两种文件?
----------------------------
最偷懒的办法就是用文件长度(字节数)区别,哈哈。
我用上面的方法测试了,不管是否成功,my.log总是有东西,不过内容不同,成功时,内容如下:
Interactive mode on.
Local directory now /home/lccx/bin/DZ/BAK
mput YYBBB200411.TXT?
不成功时,内容如下:
ftp: connect: A remote host did not respond within the timeout period.
Not connected.
Not connected.
Not connected.
Interactive mode on.
Local directory now /home/lccx/bin/DZ/BAK
Not connected.
如何使用shell区分这两种文件?
----------------------------
最偷懒的办法就是用文件长度(字节数)区别,哈哈。