最近,我参与了用csh在SunOS上编写shell脚本的工作。我将有多个查询,但首先,短程序不工作。
[username]% expect - << EOF
Spawn telnet 74.125.71.103
expect "Password:"
send "google\r"
EOF 弹出以下错误:
/bin/csh: Event not found
[username]% expect: Command not found 请给我建议。
此脚本应以下列方式运行:
类型1 // a的"MB站“菜单选项将打开,即
1-秀
2-单位管制
类型2 // UC菜单选项将打开,即
1-更改密码
2-重置
类型1 //change菜单选项将打开,即
1-更改个人电脑密码
2-更改LU密码
3-更改管理密码
类型3 //更改管理密码
MB站-更改管理密码
输入新密码: XYZ输入
重新输入密码: XYZ输入
接受新密码
3次逃离//逃离telnet
1.MB站
类型6 //退出 出口?Y/
连接主机丢失。
然后移动到使用不同IP的步骤。当用户在提示符下执行脚本时,IP值将由用户一次给出,例如./pass IPs.txt。
发布于 2011-12-02 03:21:53
Event not found消息意味着您正在尝试进行某种历史替换。这通常涉及!字符。您是否在某个时候键入了带有!字符的内容?
expect: Command not found的意思正是它所说的: shell无法找到expect命令。安装好了吗?如果没有,您应该在可能的情况下安装它,或者要求系统管理员为您安装它,或者如果没有安装,请在您的主目录下构建和安装它。
一旦修复了这个问题,就会有一个名为spawn的expect命令,它区分大小写;Spawn不会被识别。
如果你专门问如何在不使用expect的情况下完成上面的工作,请更新你的问题来明确这一点。
发布于 2015-05-07 04:54:09
下面有一个工作脚本,因为我相信您正在尝试使用sh或其他命令运行脚本,因此会出现错误。尝试以./script的形式运行它。我使用下面的示例脚本进行文件传输,但我多次通过ssh来回进行密钥交换,这是一次活动。#!/usr/bin/expect -f设置超时值130产生"idk@server.com“预期密码:”发送"pass@1234\r“预期"$”发送"sh /home/nathalok/HTML/run.sh\r“预期"$”发送“退出\r
https://stackoverflow.com/questions/8351350
复制相似问题