OVH Cloud OVH Cloud

[Q] Régler la variable environnement PATH

13 réponses
Avatar
Philippe Geneste
Bonsoir,

C'est quoi la bonne méthode pour régler cette fichue variable et surtout
pour lui rajouter des répertoires ? Je parcours le net et je trouve plein
de réponses différentes et je n'ai rien trouvé dans l'aide intégrée de
Mac OS.
Quelqu'un acceptera-t-il de me donner la bonne commande ?

Voici ce que me renvoie echo $PATH:
/sw/bin:/sw/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin /opt/local/bin /usr/local/bin

Et voici ce que contient mon fichier .cshrc:
source /sw/bin/init.csh
set PATH=($PATH /opt/local/bin /usr/local/bin)

Le problème est que les binaires qui sont dans le répertoire
/usr/local/bin ne sont pas reconnus.

Merci

--
http://www.zigzagmusic.webhop.net/
Jazz en Lot-et-Garonne

10 réponses

1 2
Avatar
Jacky
Philippe Geneste wrote:

Voici ce que me renvoie echo $PATH:
/sw/bin:/sw/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin /opt/local/bin /usr/local/bin

Et voici ce que contient mon fichier .cshrc:
source /sw/bin/init.csh
set PATH=($PATH /opt/local/bin /usr/local/bin)

Il ne manquerait pas le séparateur : des fois ?


--
PT> Peut-tu couper un minimum les messages auquels tu réponds (ici il y
PT> a 200 lignes superflues) ?.
Ton modem est encore à 1200 bauds?
-+- JRY In Guide du Généalogiste Ereinté : Neuneu Inside -+-

Avatar
Martin.Jourdan.nospam
Philippe Geneste wrote:

Voici ce que me renvoie echo $PATH:
/sw/bin:/sw/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin
/opt/local/bin /usr/local/bin


Les blancs ne sont pas bons, il te faut des ":"

Et voici ce que contient mon fichier .cshrc:
source /sw/bin/init.csh
set PATH=($PATH /opt/local/bin /usr/local/bin)

Le problème est que les binaires qui sont dans le répertoire
/usr/local/bin ne sont pas reconnus.


Oui le problème est que PATH est une variable d'environnement partagée à
la syntaxe très particulière (séparation par des ":"), il faut donc
chanter :

setenv PATH $PATH:/opt/local/bin:/usr/local/bin

La syntaxe que tu donnes dans le message cité est celle pour une
variable locale de ton csh. Note que csh tient à jour une variable
locale "path" (en minuscules) qu'elle associe à la variable
d'environnement PATH (en majuscules) : le shell fait en sorte que ces
deux variables aient en permanence la même valeur, "path" en tant que
liste csh et "PATH" en tant que liste "deux-points". Donc un truc
équivalent à la commande précédente est :

set path=($path /opt/local/bin /usr/local/bin)

Je hope que ça helpe.
--
Martin Jourdan
Informaticien, fan de Macintosh (X), de Peter Gabriel et de volley-ball

Avatar
Philippe Geneste
On Wed, 04 Feb 2004 21:51:35 +0100, Martin Jourdan wrote:

Philippe Geneste wrote:

[texte cité caché]


Les blancs ne sont pas bons, il te faut des ":"

[texte cité caché]


Oui le problème est que PATH est une variable d'environnement partagée à
la syntaxe très particulière (séparation par des ":"), il faut donc
chanter :

setenv PATH $PATH:/opt/local/bin:/usr/local/bin

N'a pas fonctionné, j'ai eu droit à un message d'erreur : il trouvait

une sorte de "faute de syntaxe".

set path=($path /opt/local/bin /usr/local/bin)


Avec celle-ci, c'est bien passé.

Quid des autres méthodes:
- fichier .login;
- fichier .profile;
- fichier environment.plist ?


Merci
--
http://www.zigzagmusic.webhop.net/
Jazz en Lot-et-Garonne


Avatar
Schmurtz
setenv PATH $PATH:/opt/local/bin:/usr/local/bin


N'a pas fonctionné, j'ai eu droit à un message d'erreur : il trouvait
une sorte de "faute de syntaxe".


setenv PATH ${PATH}:/opt/local/bin:/usr/local/bin

Les deux points juste après une variable ont une signification
particulière, ils permettent de donner une valeur par defaut si la
variable ne contient rien. Les accolades permettent de bien séparer le
nom de variable et le reste du texte (comme pour concaténer sans espaces
après la variable : ${VAR}coucou).

--
Schmurtz


Avatar
Paul GABORIT
À (at) Wed, 4 Feb 2004 21:51:35 +0100,
(Martin Jourdan) écrivait (wrote):
setenv PATH $PATH:/opt/local/bin:/usr/local/bin


Il vaut mieux :

setenv PATH ${PATH}:/opt/local/bin:/usr/local/bin

--
Paul Gaborit - <http://www.enstimac.fr/~gaborit/>

Avatar
Schmurtz
setenv PATH $PATH:/opt/local/bin:/usr/local/bin


N'a pas fonctionné, j'ai eu droit à un message d'erreur : il trouvait
une sorte de "faute de syntaxe".


setenv PATH ${PATH}:/opt/local/bin:/usr/local/bin

Les deux points juste après une variable ont une signification
particulière, ils permettent de donner des paramètres pour modifier le
comportement de la subtitution par la valeur de la variable. Les
accolades permettent de bien séparer le nom de variable et le reste du
texte (comme pour concaténer sans espaces après la variable :
${VAR}coucou).

--
Schmurtz


Avatar
Nicolas.MICHEL
Philippe Geneste wrote:

C'est quoi la bonne méthode pour régler cette fichue variable et surtout
pour lui rajouter des répertoires ?


Si je puis me permettre, Jayce s'est décarcassé pour nous pondre un
starter kit pour zsh, acompagné d'un explicatif complet.
Alors pourquoi ne pas t'y mettre, zsh étant plus performant, documenté
en french et préconfigurable avec un dossier ~/Library/init/zsh bien
foutu, pourvu d'exemple et de trucs standards utiles ?

En plus, tu n'auras pas le dilème entre utiliser csh pour les script ou
aprendre conjointement un sh pour scripter et un tcsh en interractif...
zsh supportant les commandes sh.

à part ça, j'ai un fichier ~/tcshrc datant d'avant que je passe à zsh et
qui comprends :

alias l 'ls -vl'
alias ll 'ls -vla |more'
alias unlock 'sudo chflags -R nouchg'
alias .. 'cd ..'

setenv PATH ~/bin:/Developer/Tools:/sw/bin:/sw/sbin:$PATH

des fois que ça te helpe.

--
S'il n'y a pas de solutions, c'est qu'il n'y a pas de problèmes
iChat/AIM : michelnicolas

Avatar
pierre.ducrot
Nicolas MICHEL wrote:

Philippe Geneste wrote:

C'est quoi la bonne méthode pour régler cette fichue variable et surtout
pour lui rajouter des répertoires ?


Si je puis me permettre, Jayce s'est décarcassé pour nous pondre un
starter kit pour zsh, acompagné d'un explicatif complet.


bonne idée,peux-tu me rappeler l'URL, stp ?

--
Pierre


Avatar
Martin.Jourdan.nospam
Philippe Geneste wrote:

Quid des autres méthodes:
- fichier .login;
- fichier .profile;
- fichier environment.plist ?


La commande qui a marché en "direct live" (désolé pour l'autre, la
réponse de Schmurz est tout à fait correcte) est à placer dans ton
.login (puisque c'est du [t]csh).
--
Martin Jourdan
Informaticien, fan de Macintosh (X), de Peter Gabriel et de volley-ball

Avatar
Philippe Geneste
On Fri, 06 Feb 2004 15:11:53 +0100, Martin Jourdan wrote:

La commande qui a marché en "direct live" (désolé pour l'autre, la
réponse de Schmurz est tout à fait correcte) est à placer dans ton
.login (puisque c'est du [t]csh).


Ben je l'ai placée (celle donnée par Schmurs) dans mon fichier .cshrc et
ça fonctionne aussi... C'est quoi la différence (avec des mots simples
SVP) ?

Merci

--
http://www.zigzagmusic.webhop.net/
Jazz en Lot-et-Garonne

1 2