Как выполнить встроенный Python из оболочки bash

Есть ли аргумент Python для выполнения кода из оболочки без запуска интерактивного интерпретатора или чтения из файла? Нечто похожее на:

perl -e 'print "Hi"'

Ответы

Ответ 1

Это работает:

python -c 'print("Hi")'
Hi

Ответ 2

Другой способ - использовать перенаправление bash:

python <<< 'print "Hi"'

И это работает также с Perl, Ruby, и что нет.

п.с.

Чтобы сохранить кавычки 'и "для кода Python, мы можем построить блок с EOF

c='cat <<EOF
print(122)
EOF'
python -c "$c"

Ответ 3

Другой способ - использовать e модуль

например.

$ python -me 1 + 1
2

Ответ 4

Приглашение Windows cmd распознает только двойные кавычки, поэтому вы можете утроить их, чтобы это работало с -c:

python -c print("""Hi""")

или используйте простые кавычки, которые вообще не интерпретируются Windows cmd:

python -c print('Hi')