Beim Herumspielen mit Terminal ist mir aufgefallen, dass es viele Möglichkeiten gibt, permanent zu erstellen Aliasse.
Ich bin ein Linux-Neuling und mache, soweit ich weiß, Folgendes:
sudo ln -s /path/to/executable /usr/local/bin/desired_alias
- Hinzufügen von
desired_alias = '/path/to/executable'
nach~/.bashrc
-
Kommentieren Sie diese Zeilen in
~/.bashrc
aus :if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases fi
und setzen
desired_alias = '/path/to/executable'
in die~/.bash_aliases
alle haben die gleiche Wirkung.
Was ist der Unterschied zwischen der ersten und der zweiten Methode?
Akzeptierte Antwort:
Bei der ersten Methode erstellen Sie keinen Alias, sondern einen Symlink. Symlinks sind die Abkürzung für symbolische Links:
Symbolische Links sind Dateien, die als
Zeiger auf andere Dateien fungieren. […] Ein
symbolischer Link ist eine spezielle Art von
Datei, deren Inhalt eine Zeichenfolge ist, die
der Pfadname einer anderen Datei ist, der Datei
auf die der Link verweist. Mit anderen
Worten, ein symbolischer Link ist ein Zeiger auf
einen anderen Namen und nicht auf ein zugrunde liegendes
Objekt.
Lesen Sie hier und hier mehr über Symlinks.
Nur bei der zweiten Methode erstellen Sie tatsächlich einen Alias.
Aliase erlauben es, ein Wort
durch eine Zeichenkette zu ersetzen, wenn es
als erstes Wort eines einfachen Befehls verwendet wird.
Die Shell führt eine Liste von Aliasnamen
, die gesetzt werden können und mit den eingebauten Befehlen
alias und unalias
aufheben (siehe SHELL BUILTIN BEFEHLE weiter unten).
Das erste Wort jedes einfachen
Befehls, wenn es nicht in Anführungszeichen steht, wird auf
> sehen, ob es einen Alias hat. Wenn ja, wird dieses
Wort durch den Text des
Aliasnamens ersetzt.
Sie können einen Alias überall dort definieren, wo Sie einen Befehl eingeben und die Shell (bash in diesem Fall) interpretieren, aber damit der Alias in anderen Shells verfügbar ist, muss er in einer Datei definiert werden, die von der Shell beim Start interpretiert wird (Shell-Start, nicht Computerstart).
Für Bash sind dies /etc/bash.bashrc
(systemweit) und ~/.bashrc
. Diese Dateien werden interpretiert, wenn die Shell im interaktiven Modus startet (wie bei Verwendung von Terminal
). Ich werde die Profildateien nicht erwähnen, da sie einem anderen Zweck dienen.
Sie möchten also Ihre Aliase zu ~/.bashrc
hinzufügen um sie in jeder interaktiven Shell verfügbar zu haben.
Die .bash_aliases
Methode erreicht genau dasselbe wie das Einfügen der Aliase in ~/.bashrc
hat aber den zusätzlichen Vorteil, dass es einfacher von Programmen geparst und manipuliert werden kann.
Der . ~/.bash_aliases
bedeutet Quelle (Laden) _~/.bash_aliases_
im Kontext der aktuell laufenden Shell.