Gar*_*ler 1 python bash command-line escaping keyword
示例 - 任何bash关键字(例如else
或in
)也会导致:
$ python -c 'import sys;for p in sys.path:print p'
File "<string>", line 1
import sys;for p in sys.path:print p
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
双引号无法修复它.
这与for
Bash关键字的事实无关; 就是这样
import sys;for p in sys.path:print p
Run Code Online (Sandbox Code Playgroud)
是无效的Python语法.如果您在python
没有参数的情况下运行,然后在提示符下键入该错误,则会收到相同的错误.
您可以通过添加换行来修复它:
import sys
for p in sys.path:print p
Run Code Online (Sandbox Code Playgroud)
您可以在Bash命令中执行以下操作:
python -c ' import sys
for p in sys.path:print p
'
Run Code Online (Sandbox Code Playgroud)
或这个:
python -c $'import sys\nfor p in sys.path:print p'
Run Code Online (Sandbox Code Playgroud)
($'...'
Bash语法在哪里允许字符串中的类C转义序列,例如\n
换行符).