Vários intérpretes possíveis em um shebang?

1

Tentando aprender alguns nodejs, instalei o npm e o módulo learnyounode . Infelizmente, learnyounode tenta executar #!/usr/bin/env node e não #!/usr/bin/env nodejs - como configuramos no Ubuntu.

Eu tenho procurado, mas não consigo encontrar uma maneira de ter um shebang substituto . Eu sei que os usuários podem sempre vincular /usr/bin/nodejs a /usr/bin/node , mas seria bom se houvesse uma maneira mais elegante de escrever scripts de nó executáveis, independentemente de o interpretador ser chamado node ou < strong> nodejs .

    
por hensonix 09.11.2013 / 23:25

1 resposta

1

No arquivo ~/.profile , há um trecho de código que adiciona $HOME/bin ao seu PATH. Você pode usar esse recurso para fazer o link "node" para "nodejs":

mkdir ~/bin
ln -s /usr/bin/nodejs ~/bin/node

Você pode ter que se logar novamente se o diretório $HOME/bin não existir antes. Você também pode pular a linha shebang e especificar o interpretador diretamente:

nodejs learnyounode.js
    
por Lekensteyn 09.11.2013 / 23:32