所以这就是我想做的我想运行这样的剧本
ansible-playbook playbookX.yml --ask-vault-pass [host or hostgroup]
Run Code Online (Sandbox Code Playgroud)
该剧本应该运行带有参数的本地(在ansible服务器上)python脚本
python scriptname.py Parameter1 Parameter2
Run Code Online (Sandbox Code Playgroud)
Parameter1:一个应该加密且不可见的秘密,即使用 ps -aufx ,我应该从保管库文件中获取密码。也许我应该在 python 脚本中解密它?
Parameter2:主机或主机组中指定的主机名(注意:当剧本与主机组一起运行时,应该为每个主机运行该脚本)
另请注意:python 脚本最好在 virtual_env 中执行,同时环境应安装 urllib3。
我怎样才能做到这一点?
我在我的 perl 程序中使用 utf8,我有以下代码行:
$$pstring =~ s/\xA0/ /g;
Run Code Online (Sandbox Code Playgroud)
这应该清除字符串中的不间断空格。
在 Ubuntu 16.04 和 perl v5.22.1 下这不是问题,但在 Ubuntu 14.04 和 v5.18.2 下我收到此错误:
格式错误的 UTF-8 字符(致命)
然后我检查了我试图匹配的字符串,发现那里有不间断的空格,可以被正则表达式删除
$$pstring =~ s/[\xC2\xA0]/ /g;
Run Code Online (Sandbox Code Playgroud)
但不是与
$$pstring =~ s/\xC2\xA0/ /g;
Run Code Online (Sandbox Code Playgroud)
我的问题是:最后两个之间有什么区别(为什么它只适用于括号),还有其他方法可以解决这个问题吗?
我想定位/替换文本中的单词。单词示例为“T\xc3\x9cT\xc3\x9c”。这是代码:
\n\n final String regexX = "T\xc3\x9cT\xc3\x9c";\n final String string = "dsad dasdasd dasd \\n"\n + "dsds\\n"\n + " dd \\n"\n + "sadsd.sdasd. \\n"\n + " universit\xc3\xa4t \\n"\n + " bl\xc3\xb6 \\n"\n + " Bl\xc3\xb6\\n"\n + " ble\\n"\n + "\xc3\xbceee \\n"\n + " W\xc3\xb6rterbuch \\n"\n + "Das gute alte T\xc3\xbct\xc3\xbc wird";\n final String subst = "";\n\n final Pattern pattern = Pattern.compile(regexX, Pattern.MULTILINE | Pattern.CASE_INSENSITIVE);\n final Matcher matcherX = pattern.matcher(string);\n\n final String result = matcherX.replaceAll(subst);\n\n System.out.println("Substitution result: " + result);\nRun Code Online (Sandbox Code Playgroud)\n\n …