2013-01-11 12 views
19

Verwenden von iTerm2 mit zsh und es erkennt meine Aliase nicht. Manchmal muss ich in einer IDE arbeiten und kann einfach nicht einfach etwas vimieren und die dummen Leute hielten es für eine gute Idee, ihre Anwendungen wie MyReallyLongApplicationName.app zu benennen und da .html Dateien standardmäßig in Browsern geöffnet sind, muss ich:ZSH meine Aliase nicht erkennen?

open -a MyReallyLongApplicationName.app something.html 

ich habe einen Alias ​​in meiner .zshrc wie:

alias ide="open -a MyReallyLongApplicationName.app" 

Aber zsh wird meine Aliase nicht erkennen. Ich habe einen anderen versucht, nur um zu sehen, ob ich es war, aber keiner der Aliase, die ich erstelle, wird erkannt. Holen Sie sich einfach "zsh: Befehl nicht gefunden: ide" oder was auch immer.

Also ich bin mir nicht sicher, was ich falsch mache, und ich habe den ganzen Tag versucht, Dinge in zsh und dergleichen zu beheben. Als Anmerkung, ich bin kein Profi bei Linux/Unix-Systemen. Wenn Sie also zu technisch und vage sind, werde ich wahrscheinlich nicht verstehen, was Sie mir sagen.

Danke!

+0

a) Erhalten Sie «Befehl nicht gefunden» in einer interaktiven Sitzung oder in einem Skript. b) Funktioniert der Alias, wenn in der interaktiven Sitzung ein Befehl definiert wird (d. h. 'alias ide = ... id ')? c) Was ist in deiner '.zshrc'? d) Funktioniert das, wenn Sie 'zsh -i' in einer interaktiven Sitzung mit aktualisiertem' zshrc' starten? – ZyX

+0

Ich habe keine Quelle gefunden, nachdem ich Änderungen vorgenommen habe ... Entschuldigung. –

Antwort

52

Wenn Sie einen sehr einfachen Alias ​​in zsh tun, funktioniert es? öffnen Sie Ihre .zshrc-Datei und fügen Sie die folgende Zeile:

alias ls='ls -GpF' 

nach dieser Zeile hinzufügen, aus Ihrem Terminaltyp diese Zeile:

source .zshrc 

uns sagen, was passiert. Auch, nur für Shiggles, stellen Sie sicher, dass Sie einfache Anführungszeichen gegen doppelte Anführungszeichen verwenden, ich habe gesehen, dass sich in der Vergangenheit auf verschiedene Versionen von Shells/OS/whatnot unterscheiden.

+2

Single/Double ist irrelevant, außer String enthält einige Sonderzeichen (wie '$' und «\' »). – ZyX

+2

Ich habe das Problem vor ein paar Minuten gefunden. Ich bin nicht erfahren genug, um zu wissen, dass ich nach Änderungen an shell rc Quelle suchen muss. Ich nahm nur an, dass Änderungen wie .vimrc und dergleichen, dass die Änderungen sofort waren. So, jetzt, wo ich gefunden habe, ist alles in Ordnung. Danke, dass du reingekommen bist, obwohl es ein so simpler Fehler ist. –

+1

@RKS Änderungen an '.vimrc' sind nur dann unmittelbar möglich, wenn Sie ein vim-Plugin (oder einen Code in vimrc) haben, der sie sofort macht. Es ist nicht das Standardverhalten. Es ist nicht unmöglich, Code zu schreiben, der denselben Zweck für zsh erfüllt. – ZyX

1

Nachdem Sie die Änderungen in der Datei ~/.zshrc gespeichert haben, öffnen Sie ein neues Shell-Fenster und führen Sie den Befehl darin aus.

10

Fügen Sie "source ~/.bash_profile" zu Ihrer ~/.zsh Konfigurationsdatei hinzu.

1

diese Zeile hinzu:

/source: 'source ~/.bash_profile' into ~/.zshrc 
0

Manchmal ist die einfache Lösung ist es, was wir brauchen ... Add "source ~/.bash_profile", um Ihre ~/.zshrc Konfigurationsdatei

echo source ~/.bash_profile >> ~/.zshrc 
0

Stellen Sie sicher, dass die Anführungszeichen tatsächliche doppelte Anführungszeichen sind und nicht ein anderes Zeichen, das wie doppelte Anführungszeichen aussieht.

Ich bearbeitete ~/.zsh-Aliase in OSX - TextEdit, die, wenn sie den doppelten Anführungszeichenschlüssel trafen, ihn für ein anderes spezielles Anführungszeichen auswählten, was ZSH nicht erwartet.

Nach dem Bearbeiten der Alias-Datei mit Sublime und Ersetzen der alten doppelten Anführungszeichen durch tatsächliche doppelte Anführungszeichen läuft alles gut.

Hoffe, das hilft.