作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用 Salt 状态来更改系统网络上的 PROMPT_COMMAND
,但我一直无法找出正确的字符串转义策略。提示命令为:
PROMPT_COMMAND='PS1="`if [[ \$? -eq "0" ]]; then echo "\\[\\033[32m\\]"; else echo "\\[\\033[31m\\]"; fi`\! \[\033[36m\]\u@\h \[\033[33m\]\W \[\033[0m\]$ "'
首先我尝试了:
/etc/bash.bashrc:
file.append:
- text:
- PROMPT_COMMAND='PS1="`if [[ \$? -eq "0" ]]; then echo "\\[\\033[32m\\]"; else echo "\\[\\033[31m\\]"; fi`\! \[\033[36m\]\u@\h \[\033[33m\]\W \[\033[0m\]$ "'
但是状态不会编译。我通过引用字符串并转义其中的嵌套实例,又尝试了两次(一次用单引号,一次用双引号)。都没有成功。然后我将指令放入文本文件 (bashrc.txt
) 并尝试:
/etc/bash.bashrc:
file.append:
- source: salt://_fragments/bashrc.txt
但这也会破坏渲染系统,即使您会注意到我故意省略了一个 -template: jinja
参数。
Salt 或 Jinja 是否有一些其他转义机制可以抵御这个特别可怕的字符串中出现的无数嵌套刻度、引号和反斜杠?
最佳答案
你试过吗?
/etc/bash.bashrc:
file.append:
- text: |
PROMPT_COMMAND='PS1="`if [[ \$? -eq "0" ]]; then echo "\\[\\033[32m\\]"; else echo "\\[\\033[31m\\]"; fi`\! \[\033[36m\]\u@\h \[\033[33m\]\W \[\033[0m\]$ "'
关于string - 如何用 Salt 转义复杂的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31611761/
我是一名优秀的程序员,十分优秀!