[Linux] Question shell script : Mais pourquoi il exit comme ca ?

Marc Chantreux mc@::1
Mer 20 Nov 14:29:40 CET 2024


On Wed, Nov 20, 2024 at 02:15:22PM +0100, Antoine Delaporte wrote:
> >et franchement: j'aimerais pas être dans la peau d'un bash.
> Pas con, sauf que ce que, que ce, je ne dis pas, c'est que lorsque je lance
> la même commande, mon shell reste vivant... donc... oui cette hypothèse me
> plait bien... mais nan...

je la trouve peu crédible mais à vrai dire aucune piste ne semble
crédible en lisant l'énoncé.

> > > Sauf que… j'ai des scripts qui se suicident avant la fin, en ne respectant
> > > _aucune_ de ces conditions, et j'aimerais comprendre la magie du
> > > biniou.

ca milite d'autant plus pour un problème d'environement.

ton crontab est fait avec le meme utilisateur que tu utilises en ligne
de commande on est d'accord?

> >prouve le !
> Comprend pas !

c'était nul de toute façon :) référence à la con.

> > > Voici donc un exemple réel (oui excessivement simplifié)

c'est peut-être dans la partie "non simplifiée" que tu as un problème.
ca sent le détail crapuleux.

> #!/bin/sh -eux
> reload() {
> 	/sbin/docker exec "$@" -s reload  ||
> 		>&2 echo it failed
> }
> 
> reload nginx nginx
> reload nginx-mua nginx
> 
> Je vais tester cela.

> Je ne comprend meme pas pourquoi je n'ai pas lancé avec set -e ...

attention: c'est bien +e que je veux introduire (expliciter le comportement par
défaut qui est de laisser docker faillir et mourrir de honte, c'est bien
la fin que ce binaire mérite)

> Mais il ne devait pas mourir.... c'est a cause d'une execution sommaire
> d'une commande qu'il est mort... meme pas pour la gloire !

une commande ? c'est probablement Tony de la Porta de la
French^wFlammekuche Connexion qui a commandité.

> >et merci à Alexandre pour ce rappel de bonnes pratiques.
> Oui, carrement.
> J'ai honte... (vraiment)

mais non … ca arrive même aux utilisateurs de zsh :)


-- 
Marc Chantreux
Pôle CESAR (Calcul et services avancés à la recherche)
Université de Strasbourg
14 rue René Descartes,
BP 80010, 67084 STRASBOURG CEDEX
03.68.85.60.79



Plus d'informations sur la liste de diffusion linux