首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在expect脚本中使用特殊字符“和‘in命令

问在expect脚本中使用特殊字符“和‘in命令
EN

Unix & Linux用户
提问于 2016-03-12 05:17:48
回答 1查看 3.7K关注 0票数 1

我试图在Linux服务器中执行一个命令来获取所有服务器都需要重新设置根密码的命令,因为我正在使用expect脚本实现它的自动化,我的命令包含双引号和重音`等特殊字符。因此,在执行时,它在双引号后给出额外的字符作为错误。

代码语言:javascript
复制
send " chage -l root | grep -i "Password expires" | if [[ `awk -F : '{print $2}' ` = "never" ]] ; then echo "password needs to be changed " ;else echo "skipping reset " ; fi;\r"

我尝试使用带有双引号的\,但是错误保持不变。

EN

回答 1

Unix & Linux用户

发布于 2016-03-12 05:57:46

如果您想要一个在Tcl中没有插值的字符串(语言expect使用),并且它没有要展开的{}字符或变量,那么将它用{}括起来。例:

代码语言:javascript
复制
send { chage -l root | grep -i "Password expires" | if [[ `awk -F : '{print $2}' ` = "never" ]] ; then echo "password needs to be changed " ;else echo "skipping reset " ; fi;}
send \r
票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/269311

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档