[Confirme] path kde3

2002-04-09 Par sujet Klaus Becker

Salut,

voici mes chemins d'accès aux programmes.

[klaus@localhost klaus]$ echo $PATH
/opt/kde3/bin:/opt/kde3/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin

[root@localhost klaus]# echo $PATH
/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin

Questions:
Comment enlever le doublon "/opt/kde3/bin:" ?
Comment ajouter "/opt/kde3/bin:" au path de root ?

merci
Klaus



Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft?
Rendez-vous sur "http://www.mandrakestore.com";



Re: RE : [Confirme] PATH

2001-10-30 Par sujet le_sage

Pendant qu'on en est dans ces histoires de PATH
voulais juste préciser que certes dans le cas d'un cat ou d'un vi
il n'est nullement obligatoire de passer le ./
mais que dans d'autre(s) cas ce paramètre se révèle
obligatoire ex :

[le_sage@jah pppd]$ l
auth.c chap.oipv6cp.h  Makefile options.c  sys-sunos4.c
auth.o demand.c  ipxcp.c   Makefile.linux   options.o  tdb.c
cbcp.c demand.o  ipxcp.h   Makefile.sol2patchlevel.h   tdb.h
cbcp.h eui64.c   ipxcp.o   Makefile.sunos4  pathnames.htdb.o
ccp.c  eui64.h   lcp.c md4.cpluginstty.c
ccp.h  fsm.c lcp.h md4.hpppd   tty.o
ccp.o  fsm.h lcp.o md4.opppd.8 upap.c
chap.c fsm.o magic.c   md5.cpppd.h upap.h
chap.h ipcp.cmagic.h   md5.hppp.pamupap.o
chap_ms.c  ipcp.hmagic.o   md5.osys-linux.cutils.c
chap_ms.h  ipcp.omain.cmultilink.c  sys-linux.outils.o
chap_ms.o  ipv6cp.c  main.omultilink.o  sys-solaris.c
[le_sage@jah pppd]$ man pppd.8
Il n'y a pas de page de manuel pour pppd.8
[le_sage@jah pppd]$ man ./pppd.8
PPPD(8)   PPPD(8)

NAME
   pppd - Point to Point Protocol daemon

SYNOPSIS
   pppd [ tty_name ] [ speed ] [ options ]

...

ou bien dexecuter un fichier qui se trouve bien dans
le repertoire ou l'on est mais qui n'est pas dans $PATH
la aussi le ./ (PAS LE SITE WEB :)) ) est obligatoire
voilou

-- 
"Nous sommes tous dans le caniveau,
mais certains d'entre nous regardent les etoiles."
[ Oscar Wilde ]






Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft?
Rendez-vous sur "http://www.mandrakestore.com";



Re: [Confirme] path

2001-05-06 Par sujet Rosaire AMORE

Les cours c'est un peu mon boulot, mais très humblement, je suis content
si ça t'as servi à qq chose.
à+
Rosaire

Merci, Rosaire, tu m'as fait un vrai cours magistral :-)
Je connaissais une bonne partie de ce que tu m'as écrit, mais pas tout.
J'ai 
reinitialisé mes chemins en tant qu'utilisateur et tant que root en dur,
et 
ça marche, donc je n'ai plus de problème, grâce à toi.
Je vais étudier tes 'TP' quand j'aurai un peu plus de temps, ça n'est
pas 
urgent. Quand j'apprends qc de nouveau comme ça, je le consigne dans un 
fichier pour le retrouver si besoin est, et après, je peux aussi aider 
d'autres pingouins perdus ou novices. Donc tu, rien n'est perdu.

Je te souhaite un excellent week-end et @+ sur ces ondes
Klaus




Re: [Confirme] path

2001-05-06 Par sujet Klaus

Merci, Rosaire, tu m'as fait un vrai cours magistral :-)
Je connaissais une bonne partie de ce que tu m'as écrit, mais pas tout. J'ai 
reinitialisé mes chemins en tant qu'utilisateur et tant que root en dur, et 
ça marche, donc je n'ai plus de problème, grâce à toi.
Je vais étudier tes 'TP' quand j'aurai un peu plus de temps, ça n'est pas 
urgent. Quand j'apprends qc de nouveau comme ça, je le consigne dans un 
fichier pour le retrouver si besoin est, et après, je peux aussi aider 
d'autres pingouins perdus ou novices. Donc tu, rien n'est perdu.

Je te souhaite un excellent week-end et @+ sur ces ondes
Klaus

Le Samedi  5 Mai 2001 14:42, vous avez écrit :
> 1/ Es-tu sur que /etc/rc.sysinit (qui est d'ailleurs un lien vers
> /etc/rc.d/rc.sysinit) ne soit pas pris en compte ? Jamais vu ça. A mon
> avis, d'ailleurs ce n'est pas le cas. Il DOIT l'être. Tu peux vérifier en y
> plaçant l'initialisation d'une variable bidon et vérifier qu'elle a bien
> été initialisée. Simple, tu met par exemple qq chose du genre : "export
> bidon= taratata" dans ton /etc/rc.sysinit. Au reboot, tu vérifie par "env|
> grep bidon" que ta variable a bien été initialisée. A mon avis, elle le
> sera. Donc ton rc.sysinit est bien lu.
> 2/ En "dur" signifie que tu ignores les initialisations successives
> (cumulatives) par les différents scripts d'initialisation et qu'au moment
> de ta connexion, tu initialises ton PATH comme ceci : PATH=rép1:rép2:etc...
> au lieu de PATH=$PATH:rép_supplémentaire:etc... Dans ce deuxième cas tu
> reprends la valeur de la variable PATH et tu lui ajoutes (par
> concaténation) la valeur ":rép_supplémentaire:etc..."
> 3/Pour mieux piger ce que fait export :
> Saches que les process sous Unix sont "reliés" les uns aux autres. Il
> existe une notion de "filiation" entre process. On pourrait les représenter
> un peu comme un système de fichiers, avec une racine. C'est à dire qu'un
> process est toujours lancé par un autre process (sauf init -la "racine",
> qui est le premier de tous ces process et qui a comme PID=1, et qui de
> plus, est l'ancètre de tous les process du système, puisqu'il lance des
> process au démarrage, dont certains lancent d'autres process, etc...). Un
> process est identifié par son PID (process ID), ainsi que par son PPID (PID
> du père - pour init, PPID=0). Ces process ont également une autre
> caractéristique, c'est la possiblité de se transmettre des informations par
> l'intermédiare de variables auxquelles ils ont accès dans leur
> "environnement"). Un process "sait" qui est son père, par le PPID. Et tu
> peux faire le petit TP suivant (suite de commandes ...) :
> x=bonjour   #tu initialises une variable nommée "x" :
> set | more#tu dois voir apparaitre ta variable x
> env | more  # tu peux chercher : y'a pas de variable x
> ps -l # tu vois le PID de ton shell courant
> bash# tu lances un sous shell (fils du premier)
> ps -l # tu vois le PID de ton shell courant. Son
> PPID est le PID de ton premier shell
># (ton shell de connexion)
> set |more # pas plus de variable x que de beurre en broche
> env |more   # idem
> ^d  #tu quittes ton "sous" shell et reviens au
> premier (ton shell de connexion)
> set puis env# tu te retouves dans le même état qu'au début
> export x
> env |more  # ta variable x est passée dans l'environnement
> bash  # tu relances un sous shell
> ps -l   #on vérifie
> env| more  #Oh! x est bien là!
> x=beuleubeuleu #on change la valeur de x
> env|more  # le changement est bien répercuté dans
> l'environnement ^d# On quitte le shell fils et on
> revient au père (ps -l)
> env |more#de plus en plus audacieux : on retrouve x au niveau
> du père, inchangé.
>
> Ce dernier point n'est pas anodin : sous Unix, un process ne PEUX PAS
> modifier l'environnement du process qui l'a lancé (son process père : ici,
> on a modifié l'environnement du fils). Conséquence? lorsque dans un script
> on veux changer l'environnement courant du script on ne peut pas le faire à
> partir d'un autre script, car par défaut, l'exécution d'un script se fait
> toujours en faisant interpréter ce script par un sous shell (fils). Donc si
> dans ce script on modifie la valeur de variables d'environnement, elles ne
> le seront que pendant la durée d'exécution de ce script et lorsqu'il sera
> terminé, on sera revenu au père et on est dans les choux. C'est pour cette
> raison que si on veut modifier l'environnement courant au moyen
> d'initialisations placées dans un script, il faut lancer ce script
> d'initialisations en le lançant par . Nom_script (Nom_script précédé de
> point et espace). C'est ce qu'on appelle "sourcer" un script.
> Je sais pas si c'est plus clair, mais j'ai fait de m

Re: [Confirme] path

2001-05-05 Par sujet Rosaire AMORE

1/ Es-tu sur que /etc/rc.sysinit (qui est d'ailleurs un lien vers
/etc/rc.d/rc.sysinit) ne soit pas pris en compte ? Jamais vu ça. A mon avis,
d'ailleurs ce n'est pas le cas. Il DOIT l'être. Tu peux vérifier en y plaçant
l'initialisation d'une variable bidon et vérifier qu'elle a bien été
initialisée. Simple, tu met par exemple qq chose du genre : "export bidon=
taratata" dans ton /etc/rc.sysinit. Au reboot, tu vérifie par "env| grep bidon"
que ta variable a bien été initialisée. A mon avis, elle le sera. Donc ton
rc.sysinit est bien lu.
2/ En "dur" signifie que tu ignores les initialisations successives
(cumulatives) par les différents scripts d'initialisation et qu'au moment de ta
connexion, tu initialises ton PATH comme ceci : PATH=rép1:rép2:etc... au lieu de
PATH=$PATH:rép_supplémentaire:etc... Dans ce deuxième cas tu reprends la valeur
de la variable PATH et tu lui ajoutes (par concaténation) la valeur
":rép_supplémentaire:etc..."
3/Pour mieux piger ce que fait export :
Saches que les process sous Unix sont "reliés" les uns aux autres. Il existe une
notion de "filiation" entre process. On pourrait les représenter un peu comme un
système de fichiers, avec une racine. C'est à dire qu'un process est toujours
lancé par un autre process (sauf init -la "racine", qui est le premier de tous
ces process et qui a comme PID=1, et qui de plus, est l'ancètre de tous les
process du système, puisqu'il lance des process au démarrage, dont certains
lancent d'autres process, etc...). Un process est identifié par son PID (process
ID), ainsi que par son PPID (PID du père - pour init, PPID=0). Ces process ont
également une autre caractéristique, c'est la possiblité de se transmettre des
informations par l'intermédiare de variables auxquelles ils ont accès dans leur
"environnement"). Un process "sait" qui est son père, par le PPID.
Et tu peux faire le petit TP suivant (suite de commandes ...) :
x=bonjour   #tu initialises une variable nommée "x" :
set | more#tu dois voir apparaitre ta variable x
env | more  # tu peux chercher : y'a pas de variable x
ps -l # tu vois le PID de ton shell courant
bash# tu lances un sous shell (fils du premier)
ps -l # tu vois le PID de ton shell courant. Son PPID
est le PID de ton premier shell
   # (ton shell de connexion)
set |more # pas plus de variable x que de beurre en broche
env |more   # idem
^d  #tu quittes ton "sous" shell et reviens au premier
(ton shell de connexion)
set puis env# tu te retouves dans le même état qu'au début
export x
env |more  # ta variable x est passée dans l'environnement
bash  # tu relances un sous shell
ps -l   #on vérifie
env| more  #Oh! x est bien là!
x=beuleubeuleu #on change la valeur de x
env|more  # le changement est bien répercuté dans l'environnement
^d# On quitte le shell fils et on revient au père (ps
-l)
env |more#de plus en plus audacieux : on retrouve x au niveau du
père, inchangé.

Ce dernier point n'est pas anodin : sous Unix, un process ne PEUX PAS modifier
l'environnement du process qui l'a lancé (son process père : ici, on a modifié
l'environnement du fils). Conséquence? lorsque dans un script on veux changer
l'environnement courant du script on ne peut pas le faire à partir d'un autre
script, car par défaut, l'exécution d'un script se fait toujours en faisant
interpréter ce script par un sous shell (fils). Donc si dans ce script on
modifie la valeur de variables d'environnement, elles ne le seront que pendant
la durée d'exécution de ce script et lorsqu'il sera terminé, on sera revenu au
père et on est dans les choux. C'est pour cette raison que si on veut modifier
l'environnement courant au moyen d'initialisations placées dans un script, il
faut lancer ce script d'initialisations en le lançant par . Nom_script
(Nom_script précédé de point et espace). C'est ce qu'on appelle "sourcer" un
script.
Je sais pas si c'est plus clair, mais j'ai fait de mon mieux. Si avec ça t'as
pas pigé "export" dis le moi, j'essaierais de faire plus clair.
à+
Rosaire AMORE


Klaus a écrit :

> merci de tous vos emails à ce sujet. J'ai pas tout pigé, mais finalement, je
> n'ai qu'un problème prtaique certainement très simple à résoudre.
>
> J'ai renommé provisoirement /etc/profile et je trouve:
> [klaus@localhost klaus]$ echo $PATH
> /bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin
> [root@localhost klaus]# echo $PATH
> /bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin
>
> Au fond, le seul problème est que pour root, /sbin et /usr/sbin manquent.
> /etc/rc.sysinit contient:
> # Set the path
> PATH=/bin:/sbin:/usr/bin:/usr/sbin
> export PATH
>
> Pourquoi est-ce que ces lignes ne sont pas pris en compte ?
>
> Tu peux aussi réinitialiser complètement ton PATH (en "d

[Confirme] path

2001-05-05 Par sujet Klaus

merci de tous vos emails à ce sujet. J'ai pas tout pigé, mais finalement, je 
n'ai qu'un problème prtaique certainement très simple à résoudre.

J'ai renommé provisoirement /etc/profile et je trouve:
[klaus@localhost klaus]$ echo $PATH
/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin
[root@localhost klaus]# echo $PATH
/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin

Au fond, le seul problème est que pour root, /sbin et /usr/sbin manquent.  
/etc/rc.sysinit contient:
# Set the path
PATH=/bin:/sbin:/usr/bin:/usr/sbin
export PATH

Pourquoi est-ce que ces lignes ne sont pas pris en compte ?

Tu peux aussi réinitialiser complètement ton PATH (en "dur") dans ton
.bash_profile :  export PATH=rép1:rép2:etc
que veut dire 'en dur' ?
Après export PATH=$PATH:/sbin/:/usr/sbin,
/sbin et /usr/sbin sont pris en compte, mais uniquement pour la session bash 
courante 

merci
Klaus

















Réf. : Re: [Confirme] path

2001-05-02 Par sujet d . desseaux


export PATH=$(echo $PATH | sed 's+CHEMIN++g' | sed 's/::/:/g' ) devrait
faire l'affaire
pour éliminer "CHEMIN" du PATH.

remarques : 1- sous bash et Korn-shell la notation $(...) remplace la paire
d'accents graves
  je la trouve beaucoup plus lisible
  -2- le "g" dans la commande sed est là au cas où le
chemin à virer serait présent plus d'une fois

Il faudrait peut-être améliorer le schmilblick pour gérer les cas où CHEMIN
ferait partie d'une autre
composante du PATH



   
   
Stephane   
   
<[EMAIL PROTECTED]Pour :  
[EMAIL PROTECTED]
paris5.fr> cc :[EMAIL PROTECTED], 
[EMAIL PROTECTED]   
        Envoyé par :   Objet :  Re: [Confirme] 
path   
[EMAIL PROTECTED]
   
   
   
   
   
02/05/01 14:05 
   
Veuillez répondre à
   
confirme   
   
   
   
   
   



> Export n'est pas pour ajouter quoi que ce soit, mais pour que la variable
> définie soit connue ailleurs que dans l'environnement où elle est
déclarée (deux shells distincts par exemple).
>
> Il n'existe pas, à ma connaissance, de moyen de retirer une entrée d'une
variable d'environnement. La seule façon: la modifier (par exemple par des
copier-coller ou dans le fichier où elle est définie) et refaire un export
pour qu'elle soit partout prise en compte.

Si c'est pour modifier ton path, le seul moyen que j'ai trouve est de le
redefinir explicitement, du style : set path=(/usr/bin /usr/local/bin .)

Lea synthaxe peut varier mais le principe est le meme : redefinir la
variable. Sinon, tu peux essayer unset mais je n'y crois pas trop dans
ce cas.

stef









Re: [Confirme] path

2001-05-02 Par sujet Stephane

> Export n'est pas pour ajouter quoi que ce soit, mais pour que la variable
> définie soit connue ailleurs que dans l'environnement où elle est déclarée (deux 
>shells distincts par exemple).
> 
> Il n'existe pas, à ma connaissance, de moyen de retirer une entrée d'une variable 
>d'environnement. La seule façon: la modifier (par exemple par des copier-coller ou 
>dans le fichier où elle est définie) et refaire un export pour qu'elle soit partout 
>prise en compte.

Si c'est pour modifier ton path, le seul moyen que j'ai trouve est de le
redefinir explicitement, du style : set path=(/usr/bin /usr/local/bin .)

Lea synthaxe peut varier mais le principe est le meme : redefinir la
variable. Sinon, tu peux essayer unset mais je n'y crois pas trop dans
ce cas.

stef




Re: [Confirme] path

2001-05-01 Par sujet Rosaire AMORE

1/ Quel valeur de PATH veux-tu virer?
2/ Pour rechercher une chaîne (ex : "PATH") dans un fichier quelconque
d'un
répertoire (ici, p.ex /home/klaus) tu peux simplement faire un :
grep -n  'PATH' /home/klaus/*
le -n est pour afficher le n° de ligne dans le fichier où il trouve
3/ Tu peux aussi réinitialiser complètement ton PATH (en "dur") dans ton
.bash_profile :
export PATH=rép1:rép2:etc
à+
R.

Klaus a écrit :

> Salut Rosaire,
>
> merci de tes explications. Je vais étudier tout ça plus tard, pour l'instant,
> ça me prend la tête et je cherche juste à résoudre mon problème pratique.
> J'ai par erreur remplacé /etc/bash.rc de la mdk 8 par le même fichier
> sauvegardé de mdk 7.2 et depuis, ça merde. Pourtant j'ai reconstitué le
> fichier avec celui de etc/skel (ce répertoire est vide depuis, est-ce que je
> me trompe de répertoire ?).
>
> voici ce que j'ai sur ma linuxette:
> [root@localhost /]# echo $PATH
> /bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin
> [klaus@localhost /]$ echo $PATH
> /bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin
>
> J'ai beau faire par ex:
> [root@localhost klaus]# export PATH=$PATH:/usr/sbin,
> ça marche, mais seulement lors d'une seule session de bash.
>
> Pourtant dans /etc/rc.d/rc.sysinit, je trouve:
> # Set the path
> PATH=/bin:/sbin:/usr/bin:/usr/sbin
> export PATH,
>
> et dans /etc/profile:
> # Mandrake-Security : if you remove this comment, remove the next line too.
> PATH=$PATH:/usr/X11R6/bin:/usr/games.
>
> Je cherche en vain dans /root ou /home/klaus un fichier avec PATH.
> /root/.bash_profile est presque vide, et je n'ai pas de
> /home/klaus/.bash_profile.
> Par moment, j'avais des doublons dans mes PATH que je voulais enlever, mais
> apparemment, c'était temporaire. J'espère t'avoir donné assez d'éléments pour
> m'aider, sinon tu me dis ce qu'il te faut encore comme renseignement.
>
> merci de ton aide
> Klaus




Re: [Confirme] path

2001-05-01 Par sujet Rosaire AMORE

Salut
export fait d'une variable (ici PATH), une variable d'environnement. Ce
qui
signifie :
1/ Que l'on peut déclarer et utiliser une variable sans qu'elle ne soit
placée dans l'environnement. On pourrait la considérer comme une
variable
"locale" au shell (ou au process) courant, qui l'a initialisée.
2/ Le fait que cette variable soit transformée en variable
d'environnement
(exportée), fait que tout process fils (ou shell - ex un script est
interprété par un "sous" shell, "fils" du shell courant) aura accès à
cette
variable, telle qu'elle a été définie dans le process "père" (i.e. le
shell
que tu utilises au moment où tu lances ton script ou process).
3/ Le shell ou process fils peut à son tour modifier cette variable
d'environnement, et la transmettre ainsi (modifiée ou non) à ses propres
fils. Le fils ne peut en aucun cas modifier l'environnement du père. Si
tu
veux modifier l'environnement de ton shell courant par des affectations
de
variables placées dans un script, tu dois lancer ton script en le
"sourçant", c'est à dire en le lançant précédé de point-
espace-nom_du_script (".  nom_du_script") sous sh (ou bash, ou ksh, etc)
ou
par la commande "source nom_du_script" en csh). Ce qui a pour effet, de
faire interpréter ton script par le shell courant plutôt que par un sous
shell.
4/ Le processus de démarrage (et de connexion d'un utilisateur), est,
entre
autre, une longue suite d'initialisations de variables effectuées par
des
scripts successifs. Ainsi ta variable PATH est initialisée et enrichie
par
plusieurs scripts, et la seule solution pour te débarasser d'une entrée
dans cette variable est de trouver dans quel script de
connexion/démarrage
cette entrée est rajoutée, et ainsi la virer.
5/ Les principaux scripts à consulter : /etc/rc.d/rc.sysinit,
/etc/profile,
Ton_Répertoire_De_Connexion/.bash_profile (si tu utilises bash). Tu
vires
les valeurs attribuées à PATH qui te gênent. Vas y mollo avec les deux
premiers, puisqu'ils concernent tous les utilisateurs du système.
6/ Si tu veux en savoir plus, dis le. Si j'ai été trop long, excuses.
Voili
à+
Rosaire AMORE

Klaus a écrit :

> comment enlever une entrée du path ? On trouve partout 'export...' pour
> ajouter une entrée, mais pas l'inverse.
>
> bye
> Klaus




Re: [Confirme] path

2001-04-28 Par sujet Famille Chauvat

Bonjour,

Klaus a écrit :
> 
> comment enlever une entrée du path ? On trouve partout 'export...' pour
> ajouter une entrée, mais pas l'inverse.
> 
> bye
> Klaus

Export n'est pas pour ajouter quoi que ce soit, mais pour que la variable
définie soit connue ailleurs que dans l'environnement où elle est déclarée
(deux shells distincts par exemple).

Il n'existe pas, à ma connaissance, de moyen de retirer une entrée d'une
variable d'environnement. La seule façon: la modifier (par exemple par des
copier-coller ou dans le fichier où elle est définie) et refaire un export
pour qu'elle soit partout prise en compte.

Philippe




[Confirme] path

2001-04-28 Par sujet Klaus

comment enlever une entrée du path ? On trouve partout 'export...' pour 
ajouter une entrée, mais pas l'inverse.

bye
Klaus