Selon Jean-Pierre Pourrez : > Quel est la valeur du script "t" ?
"t" est un saut. Mais tu l'as compris tout seul puisque je vois que tu l'as reutilisé dans get_DISTVER. C'est bien toi qui l'as écrite ? Selon Jean-Pierre Pourrez : > Le typage de variables en shell me laisse perplexe :-( C'est très simple. En shell (historique) tout est chaine de caractères. Donc il N'y a PAS de typage. En effet lorsque l'on appel une commande, écrite en C par exemple, les arguments sont toujours des tableaux de caractères (le shell est la glue pour utiliser tous ces programmes). Avec les autres shells, il y a quelques petits raffinements qui rendent les choses plus... compliquées :-) Avec bash, la commande interne "declare" permet de renseigner le "type" d'une variable. Cela introduit la notion de contexte d'évaluation (comme en Perl). declare -i a; a=1; let a++; expr $a + 1 Je << devine >> que a est représenté par un int (sinon ce ne serait que du sucre syntaxique inutile) et que toutes manipulations en dehors d'une commande interne entraine une conversion automatique vers une chaine de caractères. Donc l'utilisation de << declare -i >> n'est rentable que si l'on effectue beaucoup de calculs AVEC les commandes internes de bash (pas de expr). Ma conclusion est que cela complique bash pour un bénéfice peu évident. Le calcul est exceptionnel en bash et au pire il est toujours possible d'écrire un fichier de calculs et d'appeler une commande externe pour le traiter. Le shell est une glue et non un langage de programmation aux abstractions compliquées. Faire appel à des outils exterieurs au langage devrait être un réflexe pour le programmeur shell (et c'est ce que l'on fait à chaque appel à sed, awk , perl, cut, expr, ls, ...) mcoolive.
