linux判断ftp下载成功,如何在shell中判断ftp是否成功

如何在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  -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:特殊变量$?即是上一个命令的返回值。

|

你是指你的ftp服务是否成功运行吧?

ftp localhost即可

你若是想知道是否登上ftp服务器

可以通过!pwd和pwd命令对比一下便知道了.

|

在shell中执行ftp,然后看返回值

|

不知这样能不能判断出来。

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区分这两种文件?

----------------------------

最偷懒的办法就是用文件长度(字节数)区别,哈哈。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值