Come impostare un collegamento a una directory nel Terminale di Mac OS X?


18

Quello che mi piacerebbe poter fare è quando sono in Terminale è digitare:

cd myFolderShortcut

E per farlo andare direttamente in una directory ho impostato un alias. È possibile?

Ho fatto un google per questo e gli alias potrebbero essere quello che voglio, ma non sono riuscito a farlo funzionare.


Se quello che vuoi è un comando più breve per quindi passare una directory specifica, tutto quello che dovete fare è aggiungere la seguente al vostro ~/.bashrc: alias myalias='cd /path/to/directory'. È possibile sostituire myaliascon qualsiasi nome di comando personalizzato desiderato.

Dai un'occhiata a github.com/joelthelion/autojump/wiki , potrebbe anche funzionare per te.
Daniel Beck

Risposte:


36

Non hai bisogno di un file di collegamento o qualcosa del genere.


Puoi impostare un alias ~/.bash_profileaggiungendo la seguente riga, quindi devi solo digitare myFolderShortcutper andare lì (senza cd):

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

È inoltre necessario digitare il comando sopra o

source ~/.bash_profile

per far sì che questo abbia effetto. Funziona da qualsiasi directory, ma richiede che la shell di accesso sia bash(che è l'impostazione predefinita di OS X)


Ovviamente puoi creare collegamenti simbolici ad altre directory nella tua home directory. Quindi, quando apri Terminale e sei nella tua home directory, cding ti porta nella directory collegata.

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

Quindi, digita cd myProjectsDire sei lì (il percorso visualizzato contiene myProjectsDirperò, non Documents/Projects).

Il link simbolico verrà mostrato nel Finder. Per nasconderlo, digita chflags hidden myProjectsDir.

Funzionerà solo quando sei nella tua home directory per iniziare ( cdsenza argomenti ti porta rapidamente lì; puoi digitare entrambi i comandi sulla stessa riga:) cd && cd myProjectsDir.


cdcome cd ~è il mio alias preferito.
Rob,

@Rob Non è tecnicamente un alias. cdsenza argomento implica solo ~. Mi piace di cd -più, a proposito.
Daniel Beck

Ciao, non sono riuscito a far funzionare la tua tecnica. Volevo creare un collegamento alla mia directory solr. Attualmente vive nel mio: alias solr = 'cd / Applicazioni / MAMP / htdocs / website / WhoAt / solr / whoat /' Forse il mio percorso non è corretto?
Leon Gaban,

@Leon Stai usando la bashshell?
Daniel Beck

Penso di usare il default, penso ...
Leon Gaban,

4

So che è vecchio, ma questo potrebbe aiutare qualcuno.

Dopo aver seguito la risposta di @Daniel Beck sopra e aver aggiunto l'alias al profilo bash come ha menzionato, è necessario digitare quanto segue nella finestra del terminale:

source .bash_profile

Questo farà funzionare tutti i tuoi alias.

Ho ottenuto questo da questa risposta su overflow dello stack. Ha funzionato per me. Spero che funzioni per qualcuno che cerca questo ...

Come posso creare un collegamento terminale a questo percorso?


2
Grazie, questo è tornato utile. source ~/.bash_profilePotrebbe anche essere un modo più generale di scriverlo
mattsven,

1

Solo una cosa che volevo aggiungere, perché mi è successo e mi ci è voluto un po 'di tempo per trovare l'errore. Ho scritto alias myFolderShortcut = 'cd /Users/danielbeck/Documents' perché mi piace avere spazi tra i miei segni uguali. Ma mi ha dato un errore.

Quindi dopo aver rimosso gli spazi ha funzionato.

Quindi usa

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

Spero che questo possa aiutare qualcuno in futuro.


0

Un altro approccio consiste nell'utilizzare la variabile d'ambiente CDPATH. Funziona per il cdcomando nel modo in cui PATH funziona per i programmi in esecuzione - se si digita un cdcomando con un parametro che non inizia con /(o ~), la shell cerca una directory con quel nome sotto ogni componente di CDPATH. Ad esempio, se si desidera un accesso rapido alle seguenti directory:

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

quindi impostare CDPATH sul seguente valore

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

e sarai in grado di usare i comandi cd Project42, cd whoate cd dog, ecc. Il valore inizia con due punti ( :) in modo da includere una voce null iniziale. In alcune shell, questo è necessario cdper prima cercare nella directory corrente.

Questo dovrebbe funzionare nella maggior parte delle shell di tipo POSIX; ad es . bashe ksh. Per bash, metti un comando come

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

nel tuo ~/.bash_profileo ~/.bashrc. (Se lo usi ~/.bashrc, potresti essere in grado di tralasciare export.) Per le shell di tipo csh, usa cdpathe la sintassi appropriata in stile csh.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.