Hãy xem xét đoạn mã sau:công việc trỏ đến kịch bản (cũng có công việc) được bỏ qua một cách hiệu quả
#!/usr/bin/env python
import sys
print "Hello! I've got %r as input." % sys.stdin.read()
Đây là chmod +x
ed kịch bản trong /usr/local/bin/my_interpreter
. Và điều này:
#!/usr/local/bin/my_interpreter
This is intended to be passed "as is" to python script.
Là chmod +x
tập lệnh cố gắng tận dụng. Nếu tôi echo something | /usr/local/bin/my_interpreter
, nó hoạt động tốt, nhưng một khi tôi cố gắng để thực hiện kịch bản trên, nó không thành công với
/Users/modchan/test_interpreter/foo.bar: line 3: This: command not found
Có vẻ rằng foo.bar
được âm thầm chuyển hướng đến bash thay vì kịch bản của tôi. Tôi đang làm gì sai? Làm thế nào để thực hiện công việc này?
So sánh với http://unix.stackexchange.com/a/20895 – moodywoody
@moodywoody, các câu hỏi của imho không giống nhau, nhưng câu hỏi bạn đã liên kết khá thông tin. – toriningen
Tôi không muốn nói rằng câu hỏi là một bản sao - chỉ là các chủ đề khác là thông tin. – moodywoody