È possibile creare un collegamento simbolico per cambiare le directory più facilmente? come
ln -s /Users/mles/Documents /usr/local/bin/d
quindi posso cd d
invece di cd ~/Documents
?
Il problema con la creazione di un collegamento simbolico in questo modo è che sei limitato a dove viene creato il collegamento simbolico. Inoltre, si aggiunge al problema se hai una directory ../d/..
da qualche parte nel tuo sistema.
Ci sono un paio di modi per risolvere questo ...
Nel terminale, puoi creare un alias emettendo il comando
alias cdd='cd ~/Documents'
Il vantaggio qui è che funzionerà ovunque senza doverlo aggiungere al PATH.
Per renderlo permanente, aggiungi il comando al tuo .bash_profile
nella tua home directory.
Inoltre, nel tuo .bash_profile
aggiungi il seguente
shopt -s cdable_vars
export Docs=$HOME/Documents
Ora, quando digiti cd Docs
, espanderai HOME
a qualunque sia la tua directory utente più la directory che hai specificato. ( /Users/yourusername/Documents
)
Personalmente, l'ho fatto con una variabile chiamata icloud come segue:
export icloud=$HOME/Library/Mobile\ Documents/com~apple~CloudDocs/
Ora, posso fare riferimento alla posizione dei miei documenti iCloud senza dover ricordare quel lungo percorso.
Puoi definire variabili che puntano alle tue directory. Ad esempio:
[~]$ export d=~/Documents
[~]$ ls -l $d
[~]$ cd $d
[~/Documents]$
In bash puoi utilizzare l'opzione cdable_vars
per essere in grado di cd
senza precedente $
:
[~]$ shopt -s cdable_vars
[~]$ export d=~/Documents
[~]$ cd d
[~/Documents]$
Ma non consente di eliminare $
per altri comandi, quindi ls -l d
non funzionerà.
Leggi altre domande sui tag symlink