shell调用expect脚本
Ⅰ expect里如何执行shell脚本
shell编写的except自动化功能有限, 不能做到接口的调用, 对执行的结果很难评估的哦, 建议使用python程序搞定, 楼主上面的需求, 都不是问题, 这个可以帮助搞定, 另外, wo最近开发了一个自动化的批量管理服务器的程序, 里面就有上述功能!如果感兴趣的话, 可以一起讨论一下,看看my网名就行了
Ⅱ shell 脚本 expect的调用
你的脚本应该完成这样的功能,不知是不是你要的:
通过 expect 自动 su 到 root 账户,然后等待用户输入,直到用户输入 exit 或 ^D 之类的退出 root 后,继续执行后面的命令:创建一个文件并显示一个字符串。
Ⅲ 如何在shell脚本中调用expect实现自动化
简单的脚本,参考下
要交互的脚本(talk.sh)如下:
#!/bin/bash
echo "Who are you?"
read who
echo "Hello,$who"
echo "Are you happy?"
read answer
echo "why?"
read answer
自动化脚本:
#!/bin/bash
expect<<- END
spawn ./talk.sh
expect "who"
send "firefly\n"
expect "happy?"
send "Yes,I am happy.\n"
expect "why?"
send "Because it worked!\n"
expect eof
exit
END
Ⅳ shell脚本嵌套expect后如何继续执行shell命令
./suroot.sh 中为什么不直接申明 #!/usr/bin/expect ?
然后,expect -c " xxx " 就可以直接写成 xxx 了。
Ⅳ bash shell传递参数给expect脚本
#!/bin/bash
使用重定向将命令导入expect里面
expect <<EOF
里面直接写expect的格式就行了
EOF
EOF外面可以直接写shell的命令
Ⅵ 请问各位大神,如何在shell中调用expect脚本,并将刚刚在shell中处理后的结果传给expect
使用变量保存处理结果,然后在调用expect
#!/bin/sh
expect <<!
spawn ssh xx@yyy
expect "*Password*"
send "xxx\r"
expect ">"
send "mkdir xxxxx\r"
send "exit\r"
expect eof
!
Ⅶ 如何在bash shell脚本中使用expect
1、首先检查你机器上有没有expect(我知道ubuntu默认是没有安装的)
ls /usr/bin | grep expect 看看有没有装expect
2、没有的话需要安装
在ubuntu的软件安装中心,搜索tcl 和tk 和expect并安装;
也可以命令行输入sudo apt-get install tcl tk expect
3. 环境ready了后,可以在shell脚本中用Here document的方式使用expect命令
Here document格式如下:
expect <<!
这中间都是expect命令
!
为防止错误,建议都顶格写,前面不要留空格。
Ⅷ shell中调用expect 我编写了一个普通用户切换到root的脚本。
在bash 中直接执行expect 应该使用 -c 选项,而不是使用重定向。
# expect -c '
spawn su -
expect ":" {
send "passwdXXXX\n"
}
interact
'
你这种想法也算不上托裤子放屁,既然expect 提供了 -c 选项,就说名直接在bash 中调用expect 的大有人在。
Ⅸ linux shell expect脚本通过脚本调用与传参调用结果为什么不一样
理论不明,有个试一下的建议,不论成功与否,希望楼主反馈一下.
你符值时用用单引号试一下.
command ="'参数1' '参数2' '参数3'"