2012-05-22 14 views
19

Alcuni linguaggi di scripting (come Python o Bash) utilizzano # per i commenti.Come rendere javascript support shebang (#!)?

#!/usr/bin/env python 
print 'hello, world' 

posso eseguire lo script:

python script.py 

O

./script.py 

E 'possibile effettuare JavaScript supporto faccenda?

risposta

33

Sì, è possibile utilizzare semplicemente #!/usr/bin/env node (o qualunque sia il nome dell'interprete JavaScript, funziona anche con js (spidermonkey)).

[[email protected]:~]> cat > test.js 
#!/usr/bin/env node 
console.log('hi'); 
[[email protected]:~]> chmod +x test.js 
[[email protected]:~]> ./test.js 
hi 

Molto probabilmente entrambi interpreti testare se la prima riga inizia con #! e in questo caso viene saltato.

+1

Il nodo ignora la prima riga? '#' non è un commento in javascript. – kev

+4

Sì, se è una linea shebang. Altrimenti sarebbe un SyntaxError. – ThiefMaster

+3

Ha funzionato con il nodo, ma non ho potuto farlo funzionare con v8. – yellottyellott