可执行的python文件sys不接受'('字符

时间:2017-08-17 04:52:50

标签: python bash

我正在尝试编写一个python文件,它接受命令行输入并执行一些操作。输入将包含a-z,[,],(和)。我做了以下程序只是为了检查我是否可以继续:

#!/usr/bin/env python
import sys

print str(sys.argv)

我做了chmod +x program并尝试调用./program qwerty (abc) [hi]并返回:

-bash:意外令牌附近的语法错误`('

有没有办法改变程序,以便它接受参数中的括号?

注意:我也尝试在括号前放置方括号,它会返回相同的错误。

1 个答案:

答案 0 :(得分:2)

在调用脚本时,脚本无法解决shell语法问题。 shell首先解析命令行。你必须转义或引用shell中具有特殊含义的字符(包括大多数标点字符):

./program qwerty \(abc\) '[hi]'