znalazłem SERVAL node.js projektów, które to na szczycie swojej app.js
(jak w tym openshift program)Co oznacza "#!/Bin/env" (u góry skryptu node.js)?
#!/bin/env node
Co to oznacza? Jak to działa? Gdzie to jest przydatne?
znalazłem SERVAL node.js projektów, które to na szczycie swojej app.js
(jak w tym openshift program)Co oznacza "#!/Bin/env" (u góry skryptu node.js)?
#!/bin/env node
Co to oznacza? Jak to działa? Gdzie to jest przydatne?
Pełna linia z przykładu jest:
#!/bin/env node
Oznacza to po prostu, że skrypt powinien być wykonywany z pierwszego pliku wykonywalnego o nazwie „węzeł”, który znalazł się w bieżącej ścieżce.
Shebang (#!) Na początku oznacza wykonanie skryptu w następujący sposób./bin/env to standardowy program unix, który analizuje twoje obecne środowisko. Dowolnym argumentem nie w formacie "nazwa = wartość" jest polecenie do wykonania. Więcej informacji na stronie env.
Ogólnie, czy muszę dodać to oświadczenie w aplikacji mojego węzła? – hh54188
Tylko jeśli chcesz móc go uruchomić za pomocą './App.js' zamiast wpisywać' węzeł app.js'. Na przykład, gdzie jest użyteczne przyjrzyj się http://stackoverflow.com/questions/14517535/directly-call-globally-installed-node-js-modules –
czy jest jakiś sposób, aby to działało na Macu? – chovy
env
to polecenie powłoki używane do określania interpretera.
W prostym języku angielskim oznacza to, że 'env' odnajdzie lokalizacja 'węzła' w $ PATH. Ludzie czasami robią '#!/Bin/node' lub' #!/Usr/local/bin/node', ale problem polega na tym, że nie wiesz, gdzie dana osoba może mieć swoją kopię węzła. Tak więc program 'env' znajduje to dla ciebie. –
http://stackoverflow.com/questions/7366775/what-does-the-line-bin-sh-mean-in-a-unix-shell-script – user2864740