Command Line Interface
Last updated
Was this helpful?
Last updated
Was this helpful?
Im Power-User-Bereich waren grafische UIs noch nie sehr beliebt. Automatisierung ist auf GUIs einfach nicht mĂśglich.
sind sehr beliebt fßr die Automatsierung von Aufgaben. Allerdings sind die verwendeten GNU-Tools und nicht mal die Shells plattformunabhängig. Allzu häufig landet man in der WartungshÜlle und muà die Skripte an die Platform anpassen.
FĂźr Server-CLI ist das vielleicht kein Problem, wenn man aber Tooling fĂźr Entwickler auf vielen verschiedenen Plattformen (Windows, Linux, MacOS) bereitstellen will, dann nervts und kostet unnĂśtig Geld.
Auf diesem Node-basierten Framework basieren beispielsweise Heroku-CLI und Salesforce-CLI. Programmiert wird in JavaScript oder TypeScript.
Setuptool:
Ein Setup-Tool verhindert, daĂ man die CLI Ăźber Bash-Skripte installieren muĂ, die in den Umgebungen ganz unterschiedlich funktionieren. Deshalb empfiehlt Click die Nutzung eines setup.py
-Scripts, in dem auch die Abhängigkeiten definiert werden. AnschlieĂend kann man die CLI (z. B. mycli
) komfortabel Ăźber
installieren und dann wie ein Binary von Ăźberall nutzen (z. B. mycli --help
).
Bash-Completion:
Eine installierte/aufrufbare CLI (z. B. sb
... aufgerufen Ăźber sb --help
) liefert durch eine gesetzte Umgebungsvariable (im Beispiel _SB_COMPLETE=zsh_source sb
) das Script, das erforderlich ist, um Auto-Completion in der Shell zu ermÜglichen (die Skripte sind Shell-abhängig). Mit folgendem Snippet, das man beispielsweise in ~/.zshrc
packt, ist das dann erledigt (fĂźr eine ZSH-Shell):
AnschlieĂend steht Auto-Completion zur VerfĂźgung.
Zur Optimierung (die Generierung des Skripts kostet Zeit) kann man allerdings auch die shell-spezifischen Skripte erzeugen und zur AusfĂźhrung zur VerfĂźgung stellen (unter Versionskontrolle beispielsweise).
basiert auf Click ... die Verwandschaft kann man deutlich erkennen