【发布时间】:2017-04-28 08:54:24
【问题描述】:
如何将普通字符串(在我的例子中是文件名)转换为 Linux CLI/bash 转义字符串?
例子:
"It's a great weather today" -> "It\'s\ a\ great\ weather\ today"
"Wind [Wine]" -> "Wind\ [Wine]"
"/Downloads/RPM's/" -> "/Downloads/RPM\'s/"
我想知道是否有更简单的方法可以做到这一点,因为我正在读取我的 python 脚本中的文件名,并且当我将它们转发到 bash 命令时,它失败了。
问题是文件数量太多,我无法为它们重命名或进行字符串操作。
我在 CentOS 7 系统上使用 Python 2.7
【问题讨论】:
-
你在使用
subprocess吗?如果bash脚本编写正确,则不需要。如果bash脚本没有正确编写,则无法保证这样做会有所帮助。 -
foo="Wind [Wine]"; subprocess.call(["script.bash", foo])。不需要转义foo。
标签: python linux bash command-line-interface