linux – 期望脚本支持两个预期的字符

前端之家收集整理的这篇文章主要介绍了linux – 期望脚本支持两个预期的字符前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我希望在 Linux和Solaris机器上通过expect运行sshd restart(我希望在我的ksh脚本中运行)

我创建了expect脚本,所以当期望看到提示“#”然后他运行sshd restart

但问题是我在solars上运行此期望并且提示“>”
那么如何创建一个支持“#”和“>”的期望行提示

在linux上

expect #                {send "/etc/init.d/sshd restart\r"}

在solaris

expect >                {send "/etc/init.d/sshd restart\r"}

解决方法

使用glob-pattern:expect {[#>]}

或正则表达式:expect -re {#|>} – 正则表达式模式可以更精细.我建议您将提示符匹配到行尾.通常提示以空格结束,因此您可以:

expect -re {[#>] ?$}
原文链接:https://www.f2er.com/linux/395386.html

猜你在找的Linux相关文章