Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 21/08/2017, à 14:28

Vronski

[RESOLU]Modification du path

Bonjour à tous smile

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 wink

Résolu ! Désolé : j'avais oublié de saisir le nom complet du script !! roll

cls.sh

Dernière modification par Vronski (Le 21/08/2017, à 22:38)

Hors ligne

#2 Le 21/08/2017, à 15: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 résolu, 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, à 16: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, à 16: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é... wink

Hors ligne

#5 Le 21/08/2017, à 22: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, à 09: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, à 14:03

Vronski

Re : [RESOLU]Modification du path

Bonjour, Kholo smile

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 wink Ca me servira smile

Dernière modification par Vronski (Le 22/08/2017, à 14:03)

Hors ligne

#8 Le 22/08/2017, à 15: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, à 15:25)

Hors ligne