Comment ajouter un emplacement à mon chemin sous Unix?

12

J'utilise une installation par défaut de FreeBSD, avec le shell C (csh).

Supposons que j'ai une commande que je peux exécuter en exécutant ceci:, /sbin/abcmais ne peut pas l'exécuter en exécutant abc. Comment puis-je définir un certain chemin ou quelque chose qui rend abcrunnable partout?

Andy Leman
la source
quel shell utilisez-vous? la définition de votre chemin se fait légèrement différemment dans bash, csh, sh, tcsh, etc. Vous pouvez généralement exécuter echo $SHELLpour savoir quel shell vous utilisez.
Tim
Par ailleurs, pour la zshsyntaxe, voir Ajouter une nouvelle entrée à la variable PATH dans ZSH
Basil Bourque

Réponses:

13

Aha, FreeBSD. C'est tcsh, je crois.

Donc:

set path=(/sbin $path)
DigitalRoss
la source
7

syntaxe bash et zsh :

export PATH=${PATH}:/sbin

syntaxe sh (deux commandes distinctes):

PATH=${PATH}:/sbin
export PATH

csh et tcsh :

setenv PATH "$ {PATH}: / sbin"
set path = ($ path / sbin)

Cela s'ajoutera /sbinà votre chemin, donc lorsque vous tapez abc, le shell le recherchera également /sbin. Vous pouvez également ajouter la commande à votre ~/.bashrcfichier (ou ~/.cshrc, ~/.tcshrc, ~/.profile, ~/.login-selon sur lequel vous utilisez shell).

Tim
la source
J'ai obtenu "commande d'exportation introuvable" J'utilise Freebsd 8.1
Faites-moi savoir quel shell vous utilisez, et je mettrai à jour la syntaxe.
Tim
Je n'ai aucune idée du shell que j'utilise. C'est FreeBSD par défaut, je n'ai rien changé ...
2
tapez echo $SHELLpour savoir quel shell vous utilisez et exécutez les commandes appropriées (je suppose que tcsh / csh puisque vous ne l'avez pas export). J'ai mis à jour cette réponse avec la syntaxe pour les trois.
Tim
/ bin / csh [remplissage de mots ...................]