我想我的问题很难解读(请随意完善它)。但它与脚本中 shebang 行的使用有关——特别是在这种情况下是 JavaScript。假设我有这个phantomjs
脚本:
#!/usr/bin/env phantomjs
/*
Requires phantomjs to be installed (e.g. via Homebrew on Mac)
Example URL:
http://code.google.com/p/phantomjs/wiki/QuickStart#DOM_Manipulation
*/
var page = require('webpage').create(),
url = 'http://lite.yelp.com/search?find_desc=pizza&find_loc=94040&find_submit=Search';
page.open(url, function (status) {
if (status !== 'success') {
console.log('Unable to access network');
} else {
var results = page.evaluate(function() {
var list = document.querySelectorAll('span.address'), pizza = [], i;
for (i = 0; i < list.length; i++) {
pizza.push(list[i].innerText);
}
return pizza;
});
console.log(results.join('\n'));
}
phantom.exit();
});
我怀疑这是一个非常荒谬的问题,但是:
是否有任何可能的技巧可以让您在上面的代码中保留 shebang 行 - 这样您就可以执行文件而无需在脚本执行前加上(在这种情况下)phantomjs
- 并且仍然可以在 JavaScript 中没有错误地解释它?
如果没有,是否有任何其他语言解释器(例如 Ruby、Python)“接受”shebang 行,或者更好的是,有办法忽略它们?