Клянусь, я видел это раньше, но не могу найти его сейчас. Можно ли иметь сценарий оболочки начать питон interpeter «в середине потока», то есть:Возможно использование смешанного скрипта и скрипта python?
#!/bin/bash
#shell stuff..
set +e
VAR=aabb
for i in a b c; do
echo $i
done
# same file!
#!/usr/bin/env python
# python would be given this fd which has been seek'd to this point
import sys
print ("xyzzy")
sys.exit(0)
+1: поскольку execing превосходит только вызов python. В этом контексте shebang не нужен, и будет рассматриваться только как комментарий. –
@WilliamPursell: Знаешь, я даже не заметил shebang. , , это не только ненужно, но и фактически вводит в заблуждение, так как это не будет вызывать 'env'. Я полагаю, что команда может быть 'exec env python << END_OF_PYTHON', но, вероятно, лучше просто удалить shebang. – ruakh