我正在尝试编写一个python文件,它接受命令行输入并执行一些操作。输入将包含a-z,[,],(和)。我做了以下程序只是为了检查我是否可以继续:
#!/usr/bin/env python
import sys
print str(sys.argv)
我做了chmod +x program
并尝试调用./program qwerty (abc) [hi]
并返回:
-bash:意外令牌附近的语法错误`('
有没有办法改变程序,以便它接受参数中的括号?
注意:我也尝试在括号前放置方括号,它会返回相同的错误。
答案 0 :(得分:2)
在调用脚本时,脚本无法解决shell语法问题。 shell首先解析命令行。你必须转义或引用shell中具有特殊含义的字符(包括大多数标点字符):
./program qwerty \(abc\) '[hi]'