Benutzerdefinierte Befehle in ZSH

Benutzerdefinierte Befehle in ZSH

Ich bin ziemlich neu bei Zsh und Bash.

Ich möchte benutzerdefinierte Befehle einrichten, desktopdie mich beispielsweise zu meinem Desktop bringen. Das Hinzufügen der folgenden Zeilen zur Datei .bash_profile würde mit Bash funktionieren.

desktop() {
  cd /Users/me/Desktop
}

Mit Zsh scheint es nicht zu funktionieren.

Kommt es nur darauf an, wo ich den Code platziere, oder gehe ich das völlig falsch an?

Antwort1

Bearbeiten Sie die Datei ~/.bashrc. Suchen Sie den Alias-Abschnitt und fügen Sie den folgenden
Alias ​​hinzu: desktop='cd /path/to/desktop'

Dabei deklarieren Sie einige Aliase. Sie können jeden beliebigen Alias ​​erstellen!
(Ich habe z. B. den Alias ​​ne='emacs -nw' und jedes Mal, wenn ich
ne „some file“ ausführe
, wird die Datei im Shell-basierten Emacs geöffnet.)

Wann immer Sie „Desktop“ schreiben, gelangen Sie dorthin :-) (theoretisch)

Antwort2

Bei zsh sollten Sie ~/.zshrc bearbeiten (erstellen, falls es nicht existiert -> Beispielvorlagehttps://github.com/robbyrussell/oh-my-zsh/blob/master/templates/zshrc.zsh-template)

Also:

nano ~/.zshrc

und fügen Sie den gewünschten Alias ​​hinzu, z. B.

Alias ​​mein_Projekt_runserver='cd mein_Projektpfad; . venv/bin/aktivieren; ./manage.py runserver'

Mit dem obigen Alias ​​gehe ich zu meinem Projektordner, aktiviere virtualenv und starte django server

;

trennt Befehle, so dass Sie mit einem Alias ​​mehrere Befehle ausführen können

und führen Sie Folgendes aus, damit die Änderungen wirksam werden:

. ~/.zshrc

Antwort3

Erstellen Sie eine globale ausführbare Z-Shell-Skriptdatei

Es ist besser, eine eigene Skriptdatei zu erstellen, die global verfügbar und unabhängig von der Shell-Konfiguration ist.

1. Erstellen Sie eine Textdatei mit folgendem Inhalt (benennen Sie die Datei „Desktop“):

#!/usr/bin/env zsh
cd /Users/me/Desktop
#or any shell commands you want

2.Speichern Sie die Datei im Pfad

/usr/local/bin 

3.Führen Sie den folgenden Befehl aus, um das Skript mit den richtigen Berechtigungen ausführbar zu machen:

cd /usr/local/bin 
sudo chmod -x ./desktop
Sudo chmod 755 desktop

4. Starten Sie das Terminal neu.

verwandte Informationen