JavaScript:
Lesen von Kommandozeilenargumenten
So geht’s:
// myscript.js
process.argv.forEach((val, index) => {
console.log(`${index}: ${val}`);
});
// In der Kommandozeile
$ node myscript.js user123 passw0rd
// Ausgabe:
// 0: Pfad/zu/deinem/node.exe
// 1: Pfad/zu/deinem/myscript.js
// 2: user123
// 3: passw0rd
Nutze process.argv für den einfachen Zugriff. Aber Achtung: Die ersten beiden Argumente sind der Node-Befehl und der Skriptpfad.
Tiefere Einblicke
In alten Zeiten, als Node.js noch jung war, war process.argv typischerweise die erste Wahl zum Lesen von Kommandozeilenargumenten. Heute gibt’s Libraries wie yargs oder commander, die mächtiger sind und mehr Komfort bieten. Beispielsweise erlauben sie die Definition von Optionen, Schaltern und sogar die Validierung von Eingaben.
Implementierungsdetails
process.argv ist ein Array, das alle Kommandozeilenargumente enthält. Du kannst es direkt verwenden oder mit anderen Modulen kombinieren, die darauf aufbauen.
Alternativen
yargshilft bei der Argumenten-Parsing, bietet Hilfe-Texte und viel mehr.commanderist ähnlich, aber etwas leichtgewichtiger und einfacher.
Historischer Kontext
Es ist eine lang gehegte Tradition in der Programmierung, Argumente über die Kommandozeile zu übergeben. Dies stammt aus den Tagen der Terminal- und Shell-Skripte. JavaScript auf dem Server (mittels Node.js) führte diese Möglichkeit weiter.
Siehe Auch
- Node.js Dokumentation zu
process.argv: https://nodejs.org/docs/latest/api/process.html#process_process_argv yargsGitHub Repository: https://github.com/yargs/yargscommanderGitHub Repository: https://github.com/tj/commander.js