linux expect script ,
send "pwd\n\r"
但是结果无法看到,我怎么能让 send 命令返回结果,在屏幕上显现
linux expect 如何输出结果到屏幕
答案:2 悬赏:20 手机版
解决时间 2021-03-08 01:22
- 提问者网友:最爱你的唇
- 2021-03-07 20:46
最佳答案
- 五星知识达人网友:低血压的长颈鹿
- 2021-03-07 21:45
使用send_user,输出是stdout。
全部回答
- 1楼网友:duile
- 2021-03-07 22:58
#!/usr/bin/expect
set timeout 10
set host_ip [lindex $argv 0]
set password [lindex $argv 1]
spawn ssh ${host_ip}
expect {
"(yes/no)?"
{
send "yes\n"
expect "*assword:" { send "$password\n"}
}
"*assword:"
{
send "$password\n"
}
timeout {exit 1} # 3: 这里超时就会返回 1
}
expect "100%" # 1: 等待 被spawn的程序(即前面的 ssh ${host_ip})输出 100%
expect eof # 2: 等待被spawn的程序结束
4: 可能是 ssh 本身慢导致的
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯