Zuerst möchte ich das Wichtigste klären. Genau richtig - der Duden sagt
der Plural von Alias ist Aliasse. Es geht aber auch ‘die Alias’.
Außerdem ist sowohl ‘der Alias’ als auch ‘das Alias’ richtig.
Man kann also (fast) nichts falsch machen. Doch wie bin ich eigentlich
auf dieses Thema gekommen?
Ich wundere mich regelmäßig, dass mein Befehl docker compose-up
, mit
dem man die in der docker-compose.yml definierten Docker-Container
gleichzeitig erzeugen und starten lassen kann, “nicht funktioniert”.
Dann dauert es eine Weile, bis ich merke, dass ich das Minus an die
falsche Stelle gesetzt habe. Es muss zwischen ‘docker’ und ‘compose’
stehen (docker-compose up
).
Ich klagte meinem Kollegen mein Leid und er meinte “Erstelle dir doch einfach einen Alias und ersetze das Minus durch ein Leerzeichen”. Das wäre für mich eine kleine, aber sehr hilfreiche Arbeitserleichterung. Ich bin ein Fan davon, mir meine Arbeitsumgebung so einzurichten, dass meine Tippfehler zum Gesetz werden und ich nicht aus meinen Fehlern lernen muss.
Im Wiki der Seite https://wiki.ubuntuusers.de/alias/ steht ein Alias ist
ein “Kurzname für Befehlsaufrufe” (für die Profis: in der Man page der
Bash gibt es weitere Informationen zum alias-Befehl).
Wenn du nur den Befehl eingibst, kannst du dir zunächst alle bereits
definierten Aliasse anzeigen lassen. Setzt du dahinter den Alias,
erfährst du, welcher Befehl sich hinter dem Alias verbirgt.
Nach dem Schema alias Kurzname='Befehl'
kann ein neuer Alias bzw.
Kurzname für einen Befehl festgelegt werden.
So habe ich herausgefunden, dass ls
eigentlich ein Alias für ls --color=auto
ist.
Mini-Exkurs
Für den Befehl ls
gibt es bereits eine sehr schönes Programm, das
zumindest den Ärger über das Vertippen etwas schwinden lässt.
sl
zaubert eine Dampflokomotive auf deine Konsole, die von
rechts nach links vorbei dampft. Ob man sich so das Vertippen abgewöhnen
kann, ist die Frage.
Ich möchte ja immer gerne die Dampflok sehen. (—> sudo apt-get install sl
)
Zurück zu meinem Problem-Befehl docker-compose up
. Ein Alias sollte
eigentlich eine kürzere Form des Befehls sein.
Deshalb weiß ich nicht, ob ich das Minus einfach durch ein Leerzeichen
ersetzen kann. Auf den ersten Blick scheint ein Alias aus mehreren
Wörtern nicht möglich zu sein.
Die andere Idee war es, das Leerzeichen mit einem Minus zu ersetzen:
alias docker-compose-up='docker-compose up'
. Das ist schon das, wonach
ich gesucht habe.
Leider funktioniert das nur temporär innerhalb des Tabs in der Konsole.
Es gilt also den neuen Alias in die .bashrc-Datei zu schreiben und somit
fest und dauerhaft zu definieren. Voilà!
Ich habe Docker compose über die Standard-Linux Bibliothek installiert
und eine nicht ganz aktuelle Version bekommen. Ab Version 2 sieht der Befehl
wieder anders aus (docker compose up
).
Ein weiterer Vorteil für das Setzen von Aliassen (man gewöhnt sich nicht
an das Wort…):
Wenn du auf verschiedenen Rechnern arbeitest mit verschiedenen
Docker-Versionen, musst du dir nicht mehr den Kopf darüber zerbrechen,
wie denn nun der richtige Befehl aussieht.
Bei noch mehr Interesse an docker-compose versus docker compose hier Details, inwieweit sich Compose V1 und Compose V2 unterschieden -> https://docs.docker.com/compose/migrate/#docker-compose-vs-docker-compose.
PS Für eine bessere Übersicht empfiehlt es sich eine eigene Datei à la ~/.bash_aliases anzulegen. In diesem Fall muss man dafür sorgen, dass sie dann auch von der .bashrc mit eingelesen wird.