Как выполнить Python inline из оболочки bash

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

perl -e 'print "Hi"'

3 ответа

Решение

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

python -c 'print "Hi"'
Hi

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

python <<< 'print "Hi"'

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

'Heredoc' может использоваться для непосредственной передачи скрипта в интерпретатор Python:

python <<HEREDOC
import sys
for p in sys.path:
  print(p)
HEREDOC


/usr/lib64/python36.zip
/usr/lib64/python3.6
/usr/lib64/python3.6/lib-dynload
/home/username/.local/lib/python3.6/site-packages
/usr/local/lib/python3.6/site-packages
/usr/lib64/python3.6/site-packages
/usr/lib/python3.6/site-packages

Другой способ заключается в использовании e модуль

например.

$ python -me 1 + 1
2
Другие вопросы по тегам