Я думаю, мой вопрос довольно сложно расшифровать (не стесняйтесь его совершенствовать). Но это относится к использованию строк shebang в скриптах - в частности, в данном случае JavaScripts. Скажем, у меня есть этот phantomjs
скрипт:Можно ли использовать shebang, но как-то «скрыть» его от интерпретатора JavaScript?
#!/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();
});
Я подозреваю, что это очень смешной вопрос, но:
Есть ли возможно трюк, который позволяет держать притон линию, например, как в приведенном выше коде - так что вы можете выполнить файл без необходимости префикса выполнения скрипта (в данном случае) phantomjs
- и все еще он интерпретируется без ошибок в JavaScript?
Если нет, существует ли какой-либо переводчик другого языка (например, Ruby, Python), который «принимает» линии shebang, или еще лучше, имеет возможность игнорировать их?
Конфликт «hash bang» основан на интерпретаторе, игнорирующем строки, начинающиеся с «#». – Pointy
Возможный дубликат [Как сделать поддержку javascript shebang (#!)?] (Http://stackoverflow.com/questions/10696222/how-to-make-javascript-support-shebang) –
@OliCharlesworth Согласен! Я нажал «закрыть» и проголосовал, чтобы объединить его с вопросом, на который вы указали. В настоящее время говорится, что для его объединения требуется еще 3 голоса. (Извините за дубликат!) – Henrik