Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

which dans script udev

20 réponses
Avatar
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.

10 réponses

1 2
Avatar
Marc SCHAEFER
Christophe PEREZ wrote:
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'.
Avatar
Christophe PEREZ
Le Tue, 17 Apr 2018 08:16:36 +0200, Marc SCHAEFER a écrit :
Christophe PEREZ wrote:
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.
Avatar
Nicolas George
Christophe PEREZ , dans le message <pb5ajc$3lq$, a
é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 ?
Avatar
Hugolino
Le 17-04-2018, Nicolas George <nicolas$ a écrit :
Christophe PEREZ , dans le message <pb5ajc$3lq$, a
é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)
Avatar
Nicolas George
Hugolino , dans le message
, a écrit :
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.
Avatar
Christophe PEREZ
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
Avatar
Nicolas George
Christophe PEREZ , dans le message <pb5llg$82h$, a
é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.
Avatar
Doug713705
Le 17-04-2018, Christophe PEREZ nous expliquait dans
fr.comp.os.linux.configuration (<pb5llg$82h$) :
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
Avatar
Christophe PEREZ
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 <nicolas$ a écrit :
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 ;)
Avatar
Francois Lafont
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
1 2