可执行python文件sys不接受';(';字符
我正在尝试编写一个python文件,该文件接受命令行输入并执行一些操作。输入将由a-z、[、]、(和)组成。我编写以下程序只是为了检查是否可以继续:可执行python文件sys不接受';(';字符,python,bash,Python,Bash,我正在尝试编写一个python文件,该文件接受命令行输入并执行一些操作。输入将由a-z、[、]、(和)组成。我编写以下程序只是为了检查是否可以继续: #!/usr/bin/env python import sys print str(sys.argv) 我执行了chmod+x程序并尝试调用/program qwerty(abc)[hi],它返回: -bash:意外标记“(”附近出现语法错误 是否有任何方法可以更改程序,使其接受参数中的括号 注意:我也尝试过将方括号放在括号之前,它返回相同的
#!/usr/bin/env python
import sys
print str(sys.argv)
我执行了chmod+x程序
并尝试调用/program qwerty(abc)[hi]
,它返回:
-bash:意外标记“(”附近出现语法错误
是否有任何方法可以更改程序,使其接受参数中的括号
注意:我也尝试过将方括号放在括号之前,它返回相同的错误。在调用脚本时,脚本对shell语法无能为力。shell首先解析命令行。您必须转义或引用shell中具有特殊含义的字符(包括大多数标点字符):
在调用脚本时,脚本对shell语法无能为力。shell首先解析命令行。您必须转义或引用shell中具有特殊含义的字符(包括大多数标点字符):
()
对shell有特殊意义-它在子shell中调用封闭的命令。用双引号将字符串括起来以删除特殊意义-/program qwerty“(abc)”“[hi]”
我正在遵循一个规范,无法更改上面已编辑的问题的输入。在程序运行之前,它在shell中失败,因此不能在程序中更改它。()
对shell有特殊意义-它调用子shell中包含的命令。用双引号将字符串括起来以删除特殊意义-/program qwerty“(abc)”“[hi]”
我正在遵循一个规范,无法更改上面已编辑的问题的输入。在程序运行之前,它在shell中失败,因此不能在程序中更改它。
./program qwerty \(abc\) '[hi]'