【发布时间】:2022-07-08 00:12:07
【问题描述】:
字符串出现特殊字符时是否可以插入反斜杠?
原始字符串:
echo "The string is: Ytds^&4"
预期输出:
echo "The string is: Ytds\^\&4"
我可以使用 python 或 shell。
【问题讨论】:
-
这取决于您认为什么是“特殊”字符。 Python 提供了一个
shlex.quote函数,它根据 Unix shell 的规则进行转义。 -
请注意,
^在非交互式 UNIX shell 上并不特殊;它仅在 Windows 上是特殊的(或打开历史扩展的 shell,但在脚本中默认情况下这是关闭的,因此您无需担心)。 -
另外,
&在双引号字符串中时,在 UNIX 上不需要转义;引号已经足够转义了。 -
...那么这里的实际用例是什么?您要求的转义不符合 POSIX;如何进行 Windows 兼容的转义可能应该作为 Windows 特定的问题提出。