Da sua saída de where ng
, está claro o que está acontecendo.
O Windows não suporta linhas shebang, portanto, o que você leu está correto. O que o Windows suporta é extensões de arquivo e você tem uma extensão executável disponível.
Você faz tem ng
, mas não está sendo executado diretamente. ng.cmd
é quase certamente um arquivo em lote que executa node ng
.
Quando você executar ng
, o Windows pesquisou o caminho para todos os formatos possíveis de arquivos executáveis ( exe
, bat
, cmd
, etc) e executou o primeiro que correspondeu: ng.cmd
.
Se você deseja executar seu script, será necessário executá-lo como um argumento para node
, ou seja, node test
ou criar um arquivo test.cmd
que faça o mesmo.