which dans script udev

Le
Christophe PEREZ
Bonjour,

Quelqu'un aurait-il une idée de pourquoi la commande which ne me renvoie
rien lorsqu'elle se trouve dans un script lancé par une règle udev ?

J'ai tout de suite pensé à l'environnement différent, mais le $PATH étant
correct (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin),
je ne vois pas ce qui peut influer d'autre.

Le script lancé hors udev, contenant :
which scanimage
me renvoie bien
/usr/bin/scanimage
Lancé par udev, aucune sortie (testé en écrivant dans un fichier, et oui,
l'écriture dans le fichier se fait bien, testé avec des echos en tous
genres).

Ce n'est pas dramatique, je peux mettre les chemins en dur dans le
script, mais j'aime bien les "faire trouver" à mes scripts pour être sûr
que même si les binaires sont déplacés par ma distrib, ils seront
toujours exécutés normalement.

J'ai fait un truc (que je trouve) moche du genre :
SCANIMAGE=$(which scanimage 2> /dev/null) || [ -f /usr/bin/scanimage ] &&
SCANIMAGE=/usr/bin/scanimage || exit
pour combiner les deux.

Mais au moins par curiosité, j'aurais aimé savoir pourquoi which est
inopérant dans ce contexte.

Merci.
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Marc SCHAEFER
Le #26472554
Christophe PEREZ
SCANIMAGE=$(which scanimage 2> /dev/null) || [ -f /usr/bin/scanimage ] &&
SCANIMAGE=/usr/bin/scanimage || exit

ce qui semble équivalent à
SCANIMAGE=scanimage
vu que de toute façon, which ne trouve que ce qu'il
y a sur le PATH.
Le plus simple n'est-il pas de garantir un PATH adéquat ?
Sinon, whereis `cherche mieux'.
Christophe PEREZ
Le #26472612
Le Tue, 17 Apr 2018 08:16:36 +0200, Marc SCHAEFER a écrit :
Christophe PEREZ
SCANIMAGE=$(which scanimage 2> /dev/null) || [ -f /usr/bin/scanimage ]
&&
SCANIMAGE=/usr/bin/scanimage || exit

ce qui semble équivalent à SCANIMAGE=scanimage

ça "semble" seulement alors.
vu que de toute façon, which ne trouve que ce qu'il y a sur le PATH.

Oui, c'est bien pour ça que je précise que le PATH est le bon.
Le plus simple n'est-il pas de garantir un PATH adéquat ?

Ce qui est déjà le cas.
Tu as lu mon post ou juste le titre ?
Sinon, whereis `cherche mieux'.

Il ne cherche surtout pas la même chose.
Nicolas George
Le #26472614
Christophe PEREZ , dans le message écrit :
ça "semble" seulement alors.

Et si tu précisais le problème que tu cherches à résoudre avec ce which
baroque plutôt que de prendre les gens de haut ?
Hugolino
Le #26472619
Le 17-04-2018, Nicolas George
Christophe PEREZ , dans le message écrit :
ça "semble" seulement alors.

Et si tu précisais le problème que tu cherches à résoudre avec ce
which baroque plutôt que de prendre les gens de haut ?

Nicolas George qui parle de « prendre les gens de haut » : j'aurais tout
vu sur usenet ;-))
--
le curseur et indéfiniment déporté vers la droite sans même
que je ne bouge la souris,

T'aurais pas un bureau en pente ? :-)))
Hugo (né il y a 1 703 274 635 secondes)
Nicolas George
Le #26472618
Hugolino , dans le message
Nicolas George qui parle de « prendre les gens de haut » : j'aurais tout
vu sur usenet ;-))

La différence, c'est que je n'ai pas de problèmes pour lesquels je
demande de l'aide.
Christophe PEREZ
Le #26472643
Le Tue, 17 Apr 2018 19:54:04 +0200, Hugolino a écrit :
Nicolas George qui parle de « prendre les gens de haut » : j'aurais tout
vu sur usenet ;-))

;)
Il est comme ça. Il a ses têtes. Et comme je préfère me passer de ses
incontestables compétences, plutôt que de me voir allumé violemment à
chaque post, je choisi de ne plus le lire. Et je parviens à survivre :D
Nicolas George
Le #26472644
Christophe PEREZ , dans le message écrit :
plutôt que de me voir allumé violemment à
chaque post, je choisi de ne plus le lire. Et je parviens à survivre :D

Tes récriminations seraient plus crédibles si tu n'avais pas toi-même la
même attitude.
Doug713705
Le #26472675
Le 17-04-2018, Christophe PEREZ nous expliquait dans
fr.comp.os.linux.configuration (
Le Tue, 17 Apr 2018 19:54:04 +0200, Hugolino a écrit :
Nicolas George qui parle de « prendre les gens de haut » : j'aurais tout
vu sur usenet ;-))

;)
Il est comme ça. Il a ses têtes. Et comme je préfère me passer de ses
incontestables compétences, plutôt que de me voir allumé violemment à
chaque post, je choisi de ne plus le lire. Et je parviens à survivre :D

Peut-être mais il a néanmoins raison.
which dans un script est typiquement un truc hyper casse-gueule.
--
Je ne connaîtrai rien de tes habitudes
Il se peut même que tu sois décédée
Mais j'demanderai ta main pour la couper
-- H.F. Thiéfaine, L'ascenceur de 22H43
Christophe PEREZ
Le #26472701
Le Wed, 18 Apr 2018 08:58:39 +0000, Doug713705 a écrit :
Peut-être mais il a néanmoins raison.

Je ne sais pas, je ne le lis pas :)
Et comme tout ce que j'ai vu de lui c'est ce qu'a repris
Le Tue, 17 Apr 2018 19:54:04 +0200, Hugolino a écrit :
Le 17-04-2018, Nicolas George
Et si tu précisais le problème que tu cherches à résoudre avec ce
which baroque plutôt que de prendre les gens de haut ?


Je ne le vois pas du tout y donner quelque information que ce soit.
Je ne vois donc pas en quoi il a raison :D
Mais de toutes les façons, il a forcément raison, il a toujours raison ;)
Francois Lafont
Le #26472752
Bonsoir,
Comme a priori which se base sur le PATH et que tu indiques que le PATH est OK, il n'y a plus d'autres alternatives, il faut que tu décrives verbatim ton problème avec le code et la conf (et la version de l'OS aussi). C'est le seul moyen àmha.
Bref, show us the code (and the conf). ;)
Perso, si je vois un script avec un PATH OK et un which qui déconne, ça m'intéresserait beaucoup de tester de mon côté.
--
François Lafont
Publicité
Poster une réponse
Anonyme