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).
T'as juste a faire source ma_lib.sh, ce qui permet d'aller voir le code plus facilement, pour debugué par exemple.
Ça fait juste 2 fichiers à distribuer.
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.
Les dossier du $PATH sont protégé par les droits root, c'est pas parreil.
Tu sacrifie la portabilité et le sécu de ta machine, juste pour ne pas écrire 3 lignes une fois.
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.
160 lignes c'est trop long pour du bash.
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).
T'es obligé de compiler pour chaque archi.
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).
Avoir un compilateur sur un système élargit sa surface d'attaque, c'est en partie pour ça qu'il n'est généralement par installé par défaut.
[^] # Re: fonction
Posté par batousky . En réponse au journal bout de code pour relancer une commande dans certaines conditions. Évalué à 1.
T'as juste a faire
source ma_lib.sh, ce qui permet d'aller voir le code plus facilement, pour debugué par exemple.Ça fait juste 2 fichiers à distribuer.
Les dossier du $PATH sont protégé par les droits root, c'est pas parreil.
Tu sacrifie la portabilité et le sécu de ta machine, juste pour ne pas écrire 3 lignes une fois.
160 lignes c'est trop long pour du bash.
T'es obligé de compiler pour chaque archi.
Avoir un compilateur sur un système élargit sa surface d'attaque, c'est en partie pour ça qu'il n'est généralement par installé par défaut.