Wie richte ich eine Verknüpfung zu einem Verzeichnis in Mac OS X Terminal ein?

18

Ich möchte Folgendes eingeben, wenn ich im Terminal bin:

cd myFolderShortcut

Und damit es direkt in ein Verzeichnis geht, habe ich einen mit diesem Alias ​​eingerichtet. Ist das möglich?

Ich habe googelt und Aliase sind vielleicht das, was ich will, aber ich konnte es nicht zum Laufen bringen.

benhowdle89
quelle
Wenn das, was Sie für wechseln mit cd in ein bestimmtes Verzeichnis ein kürzerer Befehl ist, alles , was Sie tun müssen, ist Folgendes zu Ihrer hinzufügen ~/.bashrc: alias myalias='cd /path/to/directory'. Sie können durch einen myaliasbeliebigen benutzerdefinierten Befehlsnamen ersetzen .
Schauen Sie sich github.com/joelthelion/autojump/wiki an , es könnte auch für Sie funktionieren.
Daniel Beck

Antworten:

36

Sie benötigen keine Verknüpfungsdatei oder ähnliches.


Sie können einen Alias ​​einrichten, ~/.bash_profileindem Sie die folgende Zeile hinzufügen. Sie müssen also nur Folgendes eingeben, myFolderShortcutum dorthin zu gelangen (ohne cd):

alias myFolderShortcut='cd /Users/danielbeck/Documents'

Sie müssen auch den obigen Befehl oder eingeben

source ~/.bash_profile

um dies in Kraft treten zu lassen. Dies funktioniert von jedem Verzeichnis aus, setzt jedoch voraus, dass Ihre Anmeldeshell bash(die Standardeinstellung von OS X) ist.


Sie können natürlich symbolische Links zu anderen Verzeichnissen in Ihrem Home-Verzeichnis erstellen. Wenn Sie dann Terminal öffnen und sich in Ihrem cdAusgangsverzeichnis befinden, werden Sie zum verknüpften Verzeichnis weitergeleitet.

ln -s /Users/danielbeck/Documents/Projects myProjectsDir

Geben cd myProjectsDirSie dann und Sie sind da (der angezeigte Pfad enthält myProjectsDirjedoch nicht Documents/Projects).

Der symbolische Link wird im Finder angezeigt. Geben Sie zum Ausblenden Folgendes ein chflags hidden myProjectsDir.

Dies funktioniert nur, wenn Sie sich zu Beginn in Ihrem Home-Verzeichnis befinden ( cdohne Argumente gelangen Sie schnell dorthin; Sie können beide Befehle in derselben Zeile eingeben:) cd && cd myProjectsDir.

Daniel Beck
quelle
cdwie cd ~ist mein lieblings alias.
Rob
@ Rob Es ist technisch gesehen kein Alias. cdohne argument nur impliziert ~. Mir gefällt cd -es übrigens besser.
Daniel Beck
Hallo, ich konnte deine Technik nicht zum Laufen bringen. Ich wollte eine Verknüpfung zu meinem solr-Verzeichnis erstellen. Es lebt derzeit in meinem: alias solr = 'cd / Applications / MAMP / htdocs / website / WhoAt / solr / whoat /' Vielleicht ist mein Pfad nicht korrekt?
Leon Gaban
@Leon Benutzt du die bashShell?
Daniel Beck
Ich denke, ich verwende Standard Ich denke ...
Leon Gaban
4

Ich weiß, das ist alt, aber das könnte jemandem helfen.

Nachdem Sie der obigen Antwort von @Daniel Beck gefolgt sind und den Alias ​​zum bash_profile hinzugefügt haben, müssen Sie Folgendes in das Terminalfenster eingeben:

source .bash_profile

Dadurch funktionieren alle Ihre Aliase.

Ich habe dies aus dieser Antwort zum Stapelüberlauf erhalten. Es hat bei mir geklappt. Ich hoffe, es funktioniert für jemanden, der danach sucht ...

Wie erstelle ich eine Terminalverknüpfung zu diesem Pfad?

Salman Hasrat Khan
quelle
2
Danke, das hat sich als nützlich erwiesen. Es source ~/.bash_profilekönnte auch eine allgemeinere Schreibweise sein
mattsven
1

Nur eine Sache, die ich hinzufügen wollte, weil es mir passiert ist und ich einige Zeit brauchte, um den Fehler zu finden. Ich habe geschrieben, alias myFolderShortcut = 'cd /Users/danielbeck/Documents' weil ich gerne Leerzeichen zwischen meinen Gleichheitszeichen habe. Aber es gab mir einen Fehler.

Nach dem Entfernen der Leerzeichen funktionierte es also.

Also benutze

alias myFolderShortcut='cd /Users/danielbeck/Documents'

Ich hoffe, dass dies in Zukunft jemandem helfen wird.

Peter
quelle
0

Ein anderer Ansatz ist die Verwendung der Umgebungsvariablen CDPATH. Dies funktioniert für den cdBefehl so, wie PATH für das Ausführen von Programmen funktioniert. Wenn Sie einen cdBefehl mit einem Parameter eingeben, der nicht mit /(oder ~) beginnt , sucht die Shell unter jeder Komponente von CDPATH nach einem Verzeichnis mit diesem Namen. Wenn Sie beispielsweise schnell auf die folgenden Verzeichnisse zugreifen möchten:

  • /Users/benhowdle89/Documents/Projects/Project42
  • /Applications/MAMP/htdocs/website/WhoAt/solr/whoat
  • /the/quick/brown/fox/jumps/over/the/lazy/dog

Stellen Sie dann CDPATH auf den folgenden Wert ein

:/Users/benhowdle89/Documents/Projects:/Applications/MAMP/htdocs/website/WhoAt/solr:/the/quick/brown/fox/jumps/over/the/lazy

und Sie können die Befehle cd Project42, cd whoatund cd dogusw. verwenden. Der Wert beginnt mit einem Doppelpunkt ( :), um einen anfänglichen Null-Eintrag einzuschließen. In einigen Shells ist dies erforderlich, um zuerst cdim aktuellen Verzeichnis nachzuschauen.

Dies sollte in den meisten POSIX-Shells funktionieren. zB bashund ksh. Für basheinen Befehl wie

export CDPATH=:/Users/benhowdle89/Documents/Projects:/Applications/MAMP/htdocs/website/…

in dein ~/.bash_profileoder ~/.bashrc. (Wenn Sie verwenden ~/.bashrc, können Sie möglicherweise das exportweglassen.) Verwenden Sie für Shells vom Typ csh cdpathund die entsprechende Syntax im Stil von csh.

G-Man sagt, "Monica wiedereinsetzen"
quelle