Kann ich zum Beispiel Folgendes einstellen:
gb = cd /media/Dan/evolution
... damit ich jedes Mal, wenn ich gb
in bash ausführe , cd
zu diesem bestimmten Verzeichnis wechseln kann ?
Ich habe online etwas gefunden: den alias
Befehl. Aber es scheint, dass es die Arbeit oben nicht tun kann.
Ist es möglich, es zu tun? Wie?
alias gb='cd /media/Dan/evolution'
posix
Beschwerde ist, also nicht nurbash
.Antworten:
Tipp einfach:
Um diese Einstellung dauerhaft zu machen (damit sie nach dem Neustart oder Öffnen einer anderen Konsole nicht verändert wird), fügen Sie diese Zeile der Datei ~ / .bashrc hinzu (vorausgesetzt, Sie verwenden die Bash als Standard-Shell).
quelle
Alternative zum Aliasing
Dies definiert die Shell-Funktion gb, die keine Argumente akzeptiert und cd / media / Dan / evolution ausführt. Wie bei anderen Vorschlägen kann dies zu ~ / .bashrc hinzugefügt werden
quelle
type gb
funktioniert, wenn es sich um einen Alias oder eine Funktion handelt.{ echo 'true() { : ; }' >./script ; . ./script ; command -V true ; command -V /usr/bin/true ; }
-true is a shell function\n/usr/bin/true is /usr/bin/true
- Die\n
Zeichen waren wörtliche Zeilenumbrüche in der Ausgabe.Es ist möglich und
alias
ist der Befehl, den Sie suchen. Zum Beispielalias ll="ls -l"
in Bash können Siell
anstelle von eingebenls -l
. Bitte beachten Sie, dass beim Festlegen eines Alias keine Leerzeichen verwendet werden.man alias
kann auch nützlich sein.quelle
Alternativ ist es möglich, ein C-Programm zu schreiben, das den gewünschten Befehl aufruft, und ihn in / usr / bin zu speichern.
Wechseln Sie zum Kompilieren in das Verzeichnis, in dem die Quelle gespeichert wurde (in Bash), und führen Sie Folgendes aus (möglicherweise benötigen Sie sudo):
Nachdem ich hier weiter recherchiert hatte , wurde mir klar, dass das einfache Einwerfen Ihres Befehls
system()
für eingebaute Bash-Befehle nicht funktioniert. Aus diesem Grund müssen Sie eine Instanz einer interaktiven Bash erstellen und Ihre Befehle an sie senden. Es ist einfach zu kompliziert und wahrscheinlich nutzlos, es sei denn, Sie möchten beispielsweise einen Aufruf eines Shell-Skripts (some_script
anstelle vonsh ~/radgeRayden/Scripts/some_script
) verkürzen .Referenz für die Funktion system ()
quelle
sh -c "cd /media/Dan/evolution"
funktioniert das nicht. Hinweis: Unterschalecd
Abgesehen von / subshell-Problemen, was ist der Vorteil beim Umbrechen eines Shell-Befehls in c program, wenn Sie diesen Befehl genauso einfach (oder einfacher) in ein Shell-Skript einfügen könnten?