美文网首页
salt cmdrun 特殊字符的转义

salt cmdrun 特殊字符的转义

作者: leyu | 来源:发表于2017-01-14 12:33 被阅读0次

当用salt来远程执行命令的时候,需要将命令里的特殊字符进行转义处理,不然会导致命令无法正常执行。特别是需要输入密码的时候,可以用echo命令进行测试,方便查看是否正常处理。

  1. 需要输入!@#$1-1这种字符,如果不加转义,会直接报错。因为命令被!截断了。
  [root@salt-master-105 ~/electricity_control]# salt 'a.mysql.001' cmd.run "echo !@#$1-1"
-bash: !@#$1-1": event not found
  1. 尝试在!前加转义符\,可以正常执行,但是转义符也echo出来了,加两个\,也没有解决。最后发现在不加转义符,外层用单引号,内部用双引号,实现了。看来salt远程执行命令的时候,外层引号最好用单引号。
[root@salt-master-105 ~]# salt 'a.mysql.001' cmd.run "echo '\!@#$1-1'"
a.mysql.001:
    \!@#-1
[root@salt-master-105 ~]# salt 'a.mysql.001' cmd.run "echo '\\!@#\$1-1'"
a.mysql.001:
    \!@#$1-1
 [root@salt-master-105 ~]# salt 'a.mysql.001' cmd.run 'echo "!@#\$1-1"'
a.mysql.001:
    !@#$1-1

3.$1符号并没有正常输出,肯定是把$1当成是参数变量了,$符号前再加转义就没了。

[root@salt-master-105 ~]# salt 'a.mysql.001' cmd.run "echo '\!@#\$1-1'"
a.mysql.001:
    \!@#$1-1

相关文章

  • salt cmdrun 特殊字符的转义

    当用salt来远程执行命令的时候,需要将命令里的特殊字符进行转义处理,不然会导致命令无法正常执行。特别是需要输入密...

  • 正则

    元字符 转义 字符说明\转义字符 转义字符将普通字符转义为特殊字符,将特殊字符转义为普通字符: 字符说明\b匹配字...

  • 网址URL中特殊字符转义编码

    网址URL中特殊字符转义编码字符 - URL编码值 URL特殊字符转义,URL中一些字符的特殊含义,基...

  • XML

    特殊字符 转义字符 < < > ...

  • Python中的字符串处理

    Python转义字符 在需要在字符中使用特殊字符时,python用反斜杠(\)转义字符。如下表: 转义字符描述 \...

  • Python 基础2

    Python 转义字符 在需要在字符中使用特殊字符时,python 用反斜杠\转义字符。如下表: 转义字符描述 \...

  • Python语法小记忆

    1、转义字符 Python 中的字符串还支持转义字符。所谓转义字符是指使用反斜杠“\”对一些特殊字符进行转义。 转...

  • JAVA的Character 类

    1. char字符 常见的转义字符(转义字符:前面有反斜杠(\)的字符代表转义字符,它对编译器来说是有特殊含义的。...

  • 特殊字符转义

  • 使用注意事项

    1不希望特殊字符被转义时使用.特殊字符被解析时会被转义2是xml语法,在CDATA内部的...

网友评论

      本文标题:salt cmdrun 特殊字符的转义

      本文链接:https://www.haomeiwen.com/subject/iuqsbttx.html