\n
обрабатывается оболочкой как два символа (обратный знак sh, символ n
), и это неверный синтаксис в Python, поэтому вы получаете ошибку.
Чтобы исправить это в Bash, используйте $'string'
:
forcebru$ python -c $'print("Hello") \nprint("Hello") '
Hello
Hello
forcebru$
Обратите внимание, что пробел после новой строки (\n print
) будет считаться недопустимым отступом (теперь Python, а не оболочка), поэтому я удалил его.