Crea un link simbolico naviga con cd

3

È 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 ?

    
posta mles 23.03.2016 - 14:14
fonte

2 risposte

3

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 ...

Crea un alias

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.

Crea una variabile cd-in grado

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.

    
risposta data 23.03.2016 - 14:24
fonte
1

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à.

    
risposta data 23.03.2016 - 14:22
fonte

Leggi altre domande sui tag