web-dev-qa-db-fra.com

Ajouter un dossier de script bash au chemin?

J'ai quelques scripts bash dans un dossier d'application que j'aimerais utiliser comme s'ils étaient sur mon chemin. S'il s'agissait d'applications simples, j'ajouterais simplement le répertoire à ~/.bashrc, mais ce sont des scripts.

par exemple:

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

Existe-t-il un bon moyen de configurer un chemin pour que je puisse les utiliser à partir de n'importe quel répertoire?

par exemple:

totally/different/path$ bash foo.sh
16
Abe

Oui, vous pouvez ajouter n’importe quel répertoire au chemin du système. Une façon de procéder consiste à mettre à jour la définition de PATH (variable d'environnement). Vous pouvez le faire dans votre .bashrc en ajoutant les lignes suivantes:

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

J'aime ajouter mes scripts à $HOME/.local/bin/ (qui est un répertoire caché) pour que mon répertoire personnel reste plus propre.

Votre répertoire ne sera pas inséré immédiatement dans la variable PATH, sauf si vous exécutez source .bashrc.

Vous pouvez ajouter plusieurs répertoires au chemin, souvenez-vous-en. Veuillez consulter la documentation BASH si vous ne comprenez pas le code.

La méthode précédente ne fonctionnera que pour votre utilisateur. Si vous devez ajouter un répertoire de script pour tous les utilisateurs, procédez comme bodhi.zazen et ajoutez vos scripts à /usr/local/bin.

20
Severo Raz

OMI la meilleure méthode consiste à ajouter les scripts à ~/bin

mkdir ~/bin

~/bin devrait automatiquement être ajouté à votre chemin. Sinon, ajoutez ceci à ~/.bashrc

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

Si vous voulez qu'ils soient disponibles pour tous les utilisateurs, ajoutez-les à /usr/local/bin

9
Panther

une autre solution

  1. Ajouter le chemin d'accès à ~/.bashrc ouvert à l'aide de vim $ vim ~/.bashrc

    exemple:

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

  2. une fois le chemin ajouté, lancez:

    $ source ~/.bashrc

  3. Si ajouté correctement, il ne devrait y avoir aucune erreur.

3
zulucoda