如何修改expect获取到的字符串?
1、使用expect脚本实现自动部署,服务器上存在多个旧版本的pm2进程,
能拿到得到的字符串是:
期望替换掉res中换行符,最终目的是停掉所有相关的进程,请大佬指点,谢谢
部分代码:
spawn ssh $user@$server
expect {
"*yes/no" { send "yes\r"; exp_continue }
"*password:" { send "$pwd\r" }
}
expect "$*"
send "cd $wd\r"
# 处理pm2进程
# 是否存在其他版本,如果有,取到该版本号并stop
send "pm2 ls |grep $name |awk '{print \$2}'\r"
expect {
-re \[${name}_0-9.\n\r\]\{6,99\} {
set res $expect_out(0,string)
puts "====res: ${res}===="
# 替换掉res中换行符
# 然后使用 pm2 stop ${res} 来停掉所有的进程
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论