Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
可执行python文件sys不接受';(';字符_Python_Bash - Fatal编程技术网

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

可执行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:意外标记“(”附近出现语法错误 是否有任何方法可以更改程序,使其接受参数中的括号 注意:我也尝试过将方括号放在括号之前,它返回相同的

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

#!/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]'