Mich würde interessieren, warum das Hinzufügen eines Eintrags zu .bashrc
dazu führt, dass ein Link überschrieben wird? Ich habe beispielsweise auf einer Testmaschine Java mit installiert apt-get install openjdk-7-jre
und dann mit herumgespielt, .bashrc
indem ich hinzugefügt habe alias java="echo Java!"
. Als ich es java
von Bash aus ausgeführt habe, habe ich festgestellt, dass es ein Echo ausgibt, Java!
anstatt Java auszuführen, das sich unter befindet . Ich habe auch festgestellt, dass dies mit , und /usr/bin/java
passiert . Warum passiert das also?ps
sh
screen
Antwort1
Denn so funktioniert Bash. Es steht im Handbuch: Aliase haben eine höhere Priorität, wenn versucht wird, Eingaben einem Befehl zuzuordnen.
Aliase werden üblicherweise zum Überschreiben von Befehlen verwendet. Beispiel:
alias java="\java -Xmx=1G"
Der obige Alias erhöht die standardmäßige maximale Speichermenge, die einem Java-Prozess zur Verfügung steht, von 256 MiB auf 1 GiB. Dies kann jedoch nur dann einen nützlichen Effekt haben, wenn beim Eintippen java
der Alias und nicht der Befehl ausgeführt wird.