ich bei diesem Beispiel hier war auf der Suche:Ausführen Node.js-Datei in einem Bash-Skript
https://bbs.archlinux.org/viewtopic.php?id=168479
Er sagt, ich auf diese Weise ausführen kann JS/Node.js:
#!/bin/sh
exec node --harmony <<EOF
console.log("hello")
EOF
Does das macht irgendjemanden einen Sinn? Was genau ist los?
Nach einigen Googling-Looks zieht dies die Daten zwischen den EOF-Zeichen in stdin.
Wenn dies möglich ist, wird es mir erlauben, ein bestimmtes Problem zu lösen - nämlich die ausführbare Datei des Knotens auf dem Benutzer $ PATH zu verwenden, während die Knoten ausführbare Flags übergeben werden (in diesem Beispiel ist es "--harmony").
Wenn Sie den Link betrachten, müssen Sie nur ein wenig nach unten gehen, um den obigen Code zu sehen.
Kann mir jemand erklären, worum es bei dieser EOF-Syntax geht?
Ein spezielles Problem, das ich habe, ist, dass ich nicht diesen Code ausführen kann:
Meine Vermutung ist, dass wir stdin an die Node.js ausführbar sind vorbei, und aus irgendeinem Grund der Lage, es ist nicht zu lösen Pfade richtig -
obwohl cli.js im selben Verzeichnis wie cli-inspect.sh ist, erfordern Funktion nicht funktioniert. In der ersten Zeile sehen wir, dass __dirname "." Ist, normalerweise wäre das nicht der Fall.
Es ist unklar für mich, dass Sie fragen. –
Was ist das << EOF EOF Syntax? –
Es ist 'Here Document' https://en.wikipedia.org/wiki/Here_document#Unix_shells –