Tôi thề tôi đã thấy điều này trước khi thực hiện nhưng không thể tìm thấy ngay bây giờ. Có thể có một kịch bản shell bắt đầu một con trăn interpeter "giữa dòng", ví dụ:Tập lệnh shell và python hỗn hợp có thể?
#!/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: khi thực thi vượt trội so với chỉ cần gọi python. Con quái vật là không cần thiết trong bối cảnh này, và sẽ được đối xử đơn thuần như một bình luận. –
@WilliamPursell: Bạn biết đấy, tôi thậm chí còn không chú ý đến shebang. . . không chỉ là không cần thiết, nhưng nó thực sự gây hiểu lầm, vì điều này sẽ không gọi 'env'. Tôi cho rằng lệnh này có thể là 'exec env python << END_OF_PYTHON', nhưng có lẽ tốt hơn là chỉ cần loại bỏ shebang. – ruakh