考虑以下代码:
#!/usr/bin/env python
import sys
print "Hello! I've got %r as input." % sys.stdin.read()
这是在
/usr/local/bin/my_interpreter
中chmod +x
的脚本。还有这个:#!/usr/local/bin/my_interpreter
This is intended to be passed "as is" to python script.
这是一个使用了 chmod +x
命令的脚本,试图利用它。如果我执行命令 echo something | /usr/local/bin/my_interpreter
,它可以正常工作,但是一旦我尝试执行上述脚本,就会失败并显示以下错误:
/Users/modchan/test_interpreter/foo.bar: line 3: This: command not found
看起来 foo.bar
悄悄地被重定向到 bash,而不是我的脚本。我做错了什么?如何使其工作?