#1 Le 21/08/2017, à 13:28
- Vronski
[RESOLU]Modification du path
Bonjour à tous
Je voudrais modifier la variable PATH. J'ai suivi cette discussion : Discussion
Or, chez moi, la commande
export PATH=$PATH:/root/Progs
ne produit pas l'effet escompté. Je veux y loger mes scripts : j'ai fait le test. Le script de test est introuvable.
Code du script :
clear
Nom du fichier : cls.sh . Et il est exécutable (chmod).
Ds son dossier, la commande
root@debian:~/Documents/Tst_Scripts# ./cls.sh
fonctionne, évidemment. Nulle autre part.
La commande set me donne le path : PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
J'ai dirigé son résultat avec un pipe sur un fichier texte : c'est bien le path de l'OS.
Mais, même placé dans un dossier visé par le path de l'OS, le script ne fonctionne pas.
Je fois donc rajouter /root/Progs au PATH. Comment ?
Merci
Résolu ! Désolé : j'avais oublié de saisir le nom complet du script !!
cls.sh
Dernière modification par Vronski (Le 21/08/2017, à 21:38)
Hors ligne
#2 Le 21/08/2017, à 14:54
- erresse
Re : [RESOLU]Modification du path
Bonjour,
Il y a plusieurs choses qui semblent bizarres dans ta demande :
- Pourquoi tes scripts devraient-ils être dans le répertoire de de "root" ?
- Si tu veux créer des commandes abrégées dans le terminal, utilise plutôt les alias, c'est plus indiqué.
- Dans ton espace personnel, si tu crées un répertoire appelé "bin", les scripts ou fichiers exécutables que tu mettras dedans pourront être appelés directement, ce répertoire fait automatiquement partie du path.
- Pour changer le contenu du PATH, il faut juste indiquer :
PATH=$PATH:/root/prog
pourquoi "export" ?
Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.
Hors ligne
#3 Le 21/08/2017, à 15:38
- Vronski
Re : [RESOLU]Modification du path
Bonjour.
Parce que c'était la commande indiquée dans la discussion ci-dessus. Pourquoi EXPORT ? Celui qui a répondu doit le savoir. Moi... Je vais donc corriger.
Mais : la modification du path est bien active même après clôture de la session ou redémarrage. Apparemment, oui.
Hors ligne
#4 Le 21/08/2017, à 15:43
- kholo
Re : [RESOLU]Modification du path
salut,
pour compléter erresse, c'est le fichier "$HOME/.profile" qui modifie le PATH
le code est le suivant :
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
on y voit que, pour ajouter un chemin, tout est mis entre double quotte
NB : ça ne change rien si les chemins n'ont pas d'espace...
NB2 : pas d'EXPORT dans ce script...
mais EXPORT change la portée des variables donc c'est mieux quand même,
sinon cela limite la variable au terminal dans lequel il est lancé...
Hors ligne
#5 Le 21/08/2017, à 21:37
- Vronski
Re : [RESOLU]Modification du path
Bon, eh bien ! C'est résolu. Merci à vous deux.
Et un petit alias, dans .bashrc :
alias cls=cls.sh
permet d'appeler nos scripts comme des commandes. Sans saisir
script_machin.sh
Un PEU comme en C, AVEC #DEFINE, on redéfinit beaucoup de choses, y compris des syntaxes.
Hors ligne
#6 Le 22/08/2017, à 08:22
- kholo
Re : [RESOLU]Modification du path
je ne suis pas en phase avec l'utilisation des alias...
ça donne des mauvaises habitudes...
on a des alias et dès qu'on se retrouve ailleurs on a plus ses marques...
alias est pour des fonctions que l'on fait souvent
et il est préférable de laisser ça aux distributions pour avoir une normalisation de l'usage :
extrait ~/.bashrc
# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
et
on y voit qu'un fichier est fait pour les alias personnels
# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
autre chose ; tant qu'à faire des "raccourcis" autant qu'ils soit au plus court :
ne met pas .sh à la fin des scripts (penser au shebang)
autre chose : pas la peine de faire un script pour une seule ligne :
si ton fichier cls n'a que clear comme ligne, autant faire un alias avec clear
alias cls='clear'
Hors ligne
#7 Le 22/08/2017, à 13:03
- Vronski
Re : [RESOLU]Modification du path
Bonjour, Kholo
Je suis d'accord avec beaucoup de choses.
" on a des alias et dès qu'on se retrouve ailleurs on a plus ses marques..." : idem sous Windows. Lorsque je n'ai plus mes utilitaires, notamment ceux que j'ai programmés pour moi-même, ils me manquent énormément. Heureusement, la plupart sont des EXE portables, avec leurs répertoire sous-répertoires pour les fichiers de configuration, sans installation aucune.
Mais là, ce n'est plus inhérent à Linux. C'est vrai partout. Sauf peut-être dans le monde des gros systèmes... ça, j'en sais rien.
"un fichier est fait pour les alias personnels" : je l'ignorais. C'est bon à savoir. J'apprends...
cls.sh : c'était juste pour un essai, mais le coup de l'alias
alias cls='clear'
c'est encore plus radical et plus simple.
Merci pour les infos, en tout cas Ca me servira
Dernière modification par Vronski (Le 22/08/2017, à 13:03)
Hors ligne
#8 Le 22/08/2017, à 14:16
- MicP
Re : [RESOLU]Modification du path
Bonjour
Perso, pour clear-sceen, j'utilise le raccourci :
Ctrl-l
(la dernière lettre de ce raccourci est un L en minuscule)
=======
Voir :
info readline
Chercher le paragraphe : EDITING COMMANDS
Dernière modification par MicP (Le 22/08/2017, à 14:25)
Hors ligne