如何转义与python关键字匹配的bash关键字?

Gar*_*ler 1 python bash command-line escaping keyword

示例 - 任何bash关键字(例如elsein)也会导致:

$ 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)

双引号无法修复它.

rua*_*akh 6

这与forBash关键字的事实无关; 就是这样

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换行符).