shell expect 执行错误时如何将错误的信息返回

omg666 2016-01-18 07:45:45
#! /bin/sh
ftpIp=$1
ftpUser=$2
ftpPwd=$3
ftpPort=$4
ftpRemotePath=$5
fileName=$6
localPath=$7
expect <<!
spawn sftp $ftpUser@$ftpIp
expect "$ftpUser@$ftpIp's password:"
#发送密码
send "$ftpPwd"
send "\r"
expect "sftp>"
#设定lcd,cd
send "lcd $localPath\r"
send "cd $ftpRemotePath\r"
expect "sftp>"
#上传文件
send "put $fileName $fileName\r"
expect "sftp>"
send "bye\r"
interact
expect eof
!
======================================
java调用shell脚本实现文件上传的功能。问题:当用户名,密码,路径,写错时脚本不会中断,并返回错误信息。求大神指导!
...全文
1299 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
luowutong 2018-07-19
  • 打赏
  • 举报
回复
.....
expect {
"aaaa" {send "\r"}
default {send_error "expect_timeout 2"; exit 1}
}
expect eof
exit 0
使用 exit [val] 看看
  • 打赏
  • 举报
回复
那应该是要检查你调用脚本的函数的返回值,来判断脚本是否成功执行
nswcfd 2016-01-19
  • 打赏
  • 举报
回复
应该expect类似invalid password之类的输出吧?

23,120

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧