Modifier une fonction shell
Dans le cas d’une fonction dont on ne possède pas la paternité, on veux pouvoir profiter des mises à jour de la fonction mais sont état ne nous convient pas totalement. Par exemple la fonction suivante est pratique mais elle rejoue des tests qui, pour mon cas à moi, sont vraiment long et que je veux pouvoir skiper.
Pour continuer à bénéficier des modifications, je ne veux pas surcharger la fonction. Je vais donc seulement la modifier.
Je met donc la commande suivante qui va rechercher la ligne correspondant à maven et qui va ajouter à la fin l’option
-DskipTests.
declare -faffiche le contenu de la fonction en questionsed '/maven:/ s/$/ -DskipTests/'Recherche la ligne contenant maven et ajoute -DskipTests à la finsed 's/$/;/'Remplace les sauts de ligne par des ’;’, les CR n’étant pas interprété pareval.