Aggiungi la cartella script bash al percorso?


16

Ho alcuni script bash in una cartella dell'applicazione che vorrei usare come se fossero sul mio percorso. Se fossero applicazioni semplici, aggiungerei semplicemente la directory a ~ / .bashrc, ma questi sono script.

per esempio:

~/a_dir/another_dir/foo.sh
~/a_dir/another_dir/foo-gui.sh

C'è un buon modo per impostare un percorso in modo che io possa usarli da qualsiasi directory?

per esempio:

totally/different/path$ bash foo.sh

non sarai in grado di farlo con bash foo.sh, ma con foo.sh, dopo aver dato il permesso a exec e averli messi nel $ PATH.
elias,

Risposte:


21

Sì, puoi aggiungere qualsiasi directory al percorso di sistema. Un modo per farlo è l'aggiornamento della definizione PATH (variabile ambientale). Puoi farlo nel tuo .bashrcaggiungendo le seguenti righe:

PATH="/your/script/dir:${PATH}"
export PATH

Mi piace aggiungere i miei script a $HOME/.local/bin/(che è una directory nascosta) in modo che la mia home directory rimanga più pulita.

La tua directory non verrà immediatamente inserita nella variabile PATH, a meno che tu non lo esegua source .bashrc.

Puoi aggiungere più directory al percorso, ricordalo. Consultare la documentazione BASH se non si comprende il codice.

Il metodo precedente funzionerà solo per il tuo utente. Se devi aggiungere una directory di script per tutti gli utenti, fai come bodhi.zazen e aggiungi i tuoi script a /usr/local/bin.


Aggiungerlo prima sostituisce gli script di sistema, il che significa che potrebbe essere facile sostituirli, cosa che non è sempre buona.
Wilf,

9

IMO il metodo migliore è aggiungere gli script a ~ / bin

mkdir ~/bin

~/bindovrebbe essere aggiunto automaticamente al tuo percorso. In caso contrario, aggiungere questo a~/.bashrc

if [ -d $HOME/bin ]; then
    PATH=$PATH:$HOME/bin
fi

Se vuoi che siano disponibili per tutti gli utenti, aggiungili a /usr/local/bin


In questo caso, poiché si tratta di script di un'applicazione, consiglierei di inserire collegamenti simbolici per gli script in ~/bin, per una migliore manutenibilità.
elias,

3

un'altra soluzione

  1. Aggiungi percorso per ~/.bashrcaprire usando vim$ vim ~/.bashrc

    esempio:

    # add extra paths export PATH=$PATH:~/Scripts

  2. una volta aggiunto il percorso eseguire:

    $ source ~/.bashrc

  3. Se aggiunto correttamente, non dovrebbero esserci errori.

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.