Tôi có chữ nhật kinh điển ở đầu các tập lệnh python của tôi.Có thể bao gồm các tùy chọn dòng lệnh trong shebang python không?
#!/usr/bin/env python
Tuy nhiên, tôi vẫn thường muốn xuất ra không có bộ đệm vào một tập tin log khi tôi chạy kịch bản của tôi, vì vậy tôi kết thúc cuộc gọi:
$ python -u myscript.py &> myscript.out &
Tôi có thể nhúng các tùy chọn -u trong công việc như vậy ...
#!/usr/bin/env python -u
và chỉ gọi:
$ ./myscript.py &> myscript.out &
... để vẫn nhận được các unbuffering? Tôi nghi ngờ rằng sẽ không làm việc, và muốn kiểm tra trước khi thử. Có cái gì đó sẽ thực hiện điều này?
Có, bạn nên làm như vậy. "Shebang" chỉ là một con trỏ đến ứng dụng nhị phân phụ trách kịch bản. Nếu không, bạn có thể tạo bí danh 'bí danh ppython =" python -u "' và chỉ sử dụng '#!/Usr/bin/env ppython' – Torxed
Bạn có thể làm điều này. – aestrivex
Torxed, bạn đã thử câu trả lời chưa? Cách tiếp cận đó không hoạt động trong OSX hoặc Linux. Nếu nó hoạt động trong hệ điều hành của bạn, xin vui lòng chia sẻ các chi tiết vì điều đó sẽ rất thú vị. Lý do nó không hoạt động trong OSX hoặc Linux (hoặc tôi tin rằng, bất kỳ hương vị nào của unix) là 'env' tìm kiếm một tệp thực thi trên đường dẫn và bí danh không nằm trên đường dẫn. Các biệt hiệu không hoạt động trên tuyến shebang theo cùng một cách và vì lý do tương tự mà các trình xây dựng không hoạt động trên tuyến shebang. Nếu hệ điều hành của bạn cho phép điều này, xin vui lòng chia sẻ! –