Pourquoi ne pas en faire une fonction bash dans ton profile?
Chiant a distribuer ensuite, de mettre ça dans le fichier .profile. Mais c'set vrai que je devrais me faire une lib d'utilitaire shell, c'est lourd de réimplémenter die() a chaque fois, par exemple (c'est que 5 lignes, hein, mais bon).
une fonction bash dans ton profile [...] facile à synchroniser
Copier un fichier, c'est copier un fichier... le coller dans le $PATH d'une manière ou d'une autre, que ce soit un binaire ou un shell script, c'est pareil.
sans aucune compilation.
Certes. Mais bon... ici, c'est littéralement cc retry.c -o retry pour compiler. Ça ne vaut même pas le coup de faire un makefile...
Là dans le genre j'ai l'impression que tu as sorti un lance-flamme pour alumer une cigarette.
Honnêtement, c'est quand j'ai vu le code en bash de 160 lignes qui faisait plus ou moins ça que je me suis motivé a m'amuser. Et je venais de me farcir du shell pendant quelques temps, notamment avec jq (pas mon expérience la plus agréable) du coup le code un peu "bourrin" c'est vrai me démangeais.
Je voulais voir un peu ce que ça donnerait en C, réputé nécessiter beaucoup plus de lignes que la majorité des autres (bon, si je voulais vraiment jouer au NLOC le plus bas, j'utiliserais pas ce style de formatage, certes).
Je pensais que ça prendrais un peu plus de lignes à la base en vrai.
Je n'ai pas implémenté a fonctionnalités égales non plus je sais: le code bash n'implémentais pas la fonctionnalité de timeout (logique, autant se baser sur la commande dédiée), et semble implémenter 2-3 autres trucs dont je n'ai pas trop compris l'intérêt.
Probablement qu'il peut aussi gérer d'autres unités que les secondes.
Et j'ai oublié de dire, sur n'importe quelle archi de processeur.
Hum... je vois pas ou ce bout de code ne serais pas compatible sur toute archi? Selon les manpages, ce code nécessite: POSIX.1-2001 et C89. A vue de nez, c'est l'usage de sleep qui empêcherais l'usage de 4.3BSD, mais ça serait trivial de le remplacer par: usleep( 1000*time).
Franchement, je doute qu'il existe encore tant d'archi pour lesquelles il n'y ait aucun compilo qui ne supporte pas C89 et POSIX.1-2001, et pour lesquelles un bash soit implémenté (1ère version de bash date de 89 selon wikipedia).
[^] # Re: fonction
Posté par freem . En réponse au journal bout de code pour relancer une commande dans certaines conditions. Évalué à 2.
Chiant a distribuer ensuite, de mettre ça dans le fichier
.profile. Mais c'set vrai que je devrais me faire une lib d'utilitaire shell, c'est lourd de réimplémenter die() a chaque fois, par exemple (c'est que 5 lignes, hein, mais bon).Copier un fichier, c'est copier un fichier... le coller dans le $PATH d'une manière ou d'une autre, que ce soit un binaire ou un shell script, c'est pareil.
Certes. Mais bon... ici, c'est littéralement
cc retry.c -o retrypour compiler. Ça ne vaut même pas le coup de faire un makefile...Honnêtement, c'est quand j'ai vu le code en bash de 160 lignes qui faisait plus ou moins ça que je me suis motivé a m'amuser. Et je venais de me farcir du shell pendant quelques temps, notamment avec
jq(pas mon expérience la plus agréable) du coup le code un peu "bourrin" c'est vrai me démangeais.Je voulais voir un peu ce que ça donnerait en C, réputé nécessiter beaucoup plus de lignes que la majorité des autres (bon, si je voulais vraiment jouer au NLOC le plus bas, j'utiliserais pas ce style de formatage, certes).
Je pensais que ça prendrais un peu plus de lignes à la base en vrai.
Je n'ai pas implémenté a fonctionnalités égales non plus je sais: le code bash n'implémentais pas la fonctionnalité de timeout (logique, autant se baser sur la commande dédiée), et semble implémenter 2-3 autres trucs dont je n'ai pas trop compris l'intérêt.
Probablement qu'il peut aussi gérer d'autres unités que les secondes.
Hum... je vois pas ou ce bout de code ne serais pas compatible sur toute archi? Selon les manpages, ce code nécessite: POSIX.1-2001 et C89. A vue de nez, c'est l'usage de
sleepqui empêcherais l'usage de 4.3BSD, mais ça serait trivial de le remplacer par:usleep( 1000*time).Franchement, je doute qu'il existe encore tant d'archi pour lesquelles il n'y ait aucun compilo qui ne supporte pas C89 et POSIX.1-2001, et pour lesquelles un bash soit implémenté (1ère version de bash date de 89 selon wikipedia).