Es hat mich fast 10 Jahre Linux-Erfahrung gekostet, diese Frage zu stellen. Es war alles Versuch und Irrtum und zufälliges nächtliches Surfen im Internet.
Aber die Leute sollten dafür keine 10 Jahre brauchen. Wenn ich gerade mit Linux anfangen würde, würde ich wissen wollen: Wann sollte ein Alias erstellt, wann ein Skript erstellt und wann eine Funktion geschrieben werden?
Wenn es um Aliase geht, verwende ich Aliase für sehr einfache Operationen, für die keine Argumente erforderlich sind.
alias houston='cd /home/username/.scripts/'
Das scheint offensichtlich. Aber einige Leute machen das:
alias command="bash bashscriptname"
(und zur .bashrc
Datei hinzufügen )
Gibt es einen guten Grund dafür? Ich bemühe mich sehr, aber ich kann mir wirklich keine Umstände vorstellen, unter denen ich das tun möchte. Wenn es also einen Randfall gibt, bei dem dies einen Unterschied machen würde, antworten Sie bitte unten.
Denn hier habe ich einfach etwas in meinen PATH und chmod +x
das hier eingefügt, was auch nach Jahren des Versuchs und Irrtums unter Linux der Fall war.
Das bringt mich zum nächsten Thema. Zum Beispiel habe ich .scripts/
meinem PATH einen versteckten Ordner ( ) im Home-Verzeichnis hinzugefügt, indem ich einfach eine Zeile zu my .bashrc
( PATH=$PATH:/home/username/.scripts/
) hinzugefügt habe , damit alle darin enthaltenen ausführbaren Dateien automatisch vervollständigt werden.
Wenn ich müsste.
Das brauche ich aber nicht wirklich, oder? Ich würde das nur für Sprachen verwenden, die nicht die Shell sind, wie Python.
Wenn es die Shell ist, kann ich einfach eine Funktion innerhalb derselben schreiben .bashrc
:
funcname () {
somecommand -someARGS "$@"
}
Wie ich bereits sagte, habe ich viel durch Ausprobieren herausgefunden. Und ich habe die Schönheit der Funktionen erst wirklich gesehen, als mein Computer starb und ich gezwungen war, die Computer der Leute um mich herum zu benutzen, wenn sie sie nicht benutzten.
Anstatt ein ganzes Verzeichnis von Skripten von Computer zu Computer zu verschieben, habe ich letztendlich nur die .bashrc aller anderen durch meine eigene ersetzt, da sie noch nie eine einzige Änderung vorgenommen hatten.
Aber habe ich etwas verpasst?
Also, was würden Sie einem Linux-Anfänger darüber sagen, wann ein Alias erstellt, wann ein Skript erstellt und wann eine Funktion geschrieben werden soll?
Wenn es nicht offensichtlich ist, gehe ich davon aus, dass die Personen, die darauf antworten, alle drei Optionen nutzen werden. Wenn Sie nur Aliase oder nur Skripte verwenden oder nur Funktionen verwenden - oder wenn Sie nur Aliase und Skripte oder Aliase und Funktionen oder Skripte und Funktionen verwenden - richtet sich diese Frage nicht wirklich an Sie.