![Wo fange ich an, CLI-Anwendungen zu erstellen?](https://rvso.com/image/23924/Wo%20fange%20ich%20an%2C%20CLI-Anwendungen%20zu%20erstellen%3F%20.png)
Nachdem ich ein oder zwei Monate lang Linux verwendet habe, weiß ich jetzt, was ich tue.
Beim Erstellen von Programmen, egal in welcher Sprache, verwende ich offensichtlich Code wie diesen:
$ python test.py
Wenn ich also test.py
eine bestimmte Datei lesen möchte, muss ich Folgendes verwenden:
$ python test.py something.file
Was ich jetzt tun möchte, ist, eine Befehlszeilenanwendung zu erstellen, damit ich verwenden kann
$ myapp something.file
Ein Programm wie das python
in $ python test.py
oder das nano
in$ nano program.pl
Aber wo um Himmels Willen fange ich an, solche Anwendungen zu entwickeln?Auch ein bisschen Recherche im Internet hat mich nicht weitergebracht.
Wenn Sie es mir selbst sagen könnten, wäre das großartig, aber ich akzeptiere auch gerne eine Reihe von Links.
Ich bin völlig offen, wenn es mehr als einen Weg gibt, die Sprache ist mir eigentlich egal (eine Ausrede, eine andere zu lernen!) oder was auch immer.
Antwort1
Sie können Python-Skripte ausführen, indem Sie sie ausführbar machen ( chmod +x test.py
) und #!/usr/bin/env python
die erste Zeile schreiben. Sobald Sie das getan haben, test.py args
wird Python aufgerufen, um Ihr Skript auszuführen. Lesen Sie mehr übersiebangWenn Sie mehr erfahren möchten, klicken Sie hier.
Antwort2
In C sieht es folgendermaßen aus:
int main(int argc, char *argv[]) {
argc ist die Anzahl der Argumente. Beachten Sie, dass der Programm-/Toolname zählt.
Die Argumente selbst landen im Argumentvektor (oder Array), argv.
Dann besteht die Schwierigkeit darin, Code zu schreiben, um mit ihnen wie vorgesehen umzugehen.
Dann kompilieren Sie mit gcc. Sie geben den Namen des Programms mit dem -o
Flag (outfile) an. Führen Sie die Datei aus ihrem aktuellen Verzeichnis wie folgt aus: ./tool_name input_file_1 ... input_file_n
(oder legen Sie sie in ein Verzeichnis, das angezeigt wird, wenn Sie schreiben echo $PATH
, dann können Sie sie von überall aufrufen, d. h. ohne den Punkt).
Antwort3
Ich verwende Go. Es ist eine kompilierte, plattformübergreifende Sprache mit der Programmierfreundlichkeit einer dynamischen Sprache und Unterstützung für Parallelität und Kommunikation.
Ich werde nicht zu Python zurückkehren, da die Entwicklung mit Go sehr viel Spaß macht.
http://golang.org/
https://github.com/languages/Go
Hier haben Sie ein einfaches Programm, das die in diesem Befehl verwendeten Argumente abruft:
package main
import (
"fmt"
"flag"
)
func main() {
fmt.Println("Arguments: ", flag.Args())
}