expect获取返回值
对于获取多台server状态且不用交互须要用到expect,但有时候expect无法获取返回值。这里解释一下expect怎样获取返回值
expect -c "
spawn $1;
expect {
\"(yes/no)?
\" {send \"yes\n\";expect \"assword:\";send \"$2\n\"}
\"assword:\" {send $2\n}
eof
}
expect eof
catch wait result;
exit [lindex \$result 3]"
我们能够在脚本里面这样定义。注意最以下的result
这里须要加上转义字符\$。否则会把$result解析成shell里面的变量,但这里面的$result是须要expect解析的。
相关学习推荐
根据本文内容,精选以下优质课程:
- 趣谈Linux操作系统
刘超 | 轻松理解Linux操作系统核心原理 - Linux性能优化实战
倪朋飞 | 别再让Linux性能问题成为你的绊脚石 - Nginx核心知识100讲
陶辉 | 全面掌握Nginx核心技术
开发资源
浙公网安备 33010602011771号