Résultat dans un shell unix ...

Fermé
almr13 Messages postés 356 Date d'inscription vendredi 22 novembre 2002 Statut Membre Dernière intervention 15 juillet 2008 - 17 janv. 2003 à 12:17
almr13 Messages postés 356 Date d'inscription vendredi 22 novembre 2002 Statut Membre Dernière intervention 15 juillet 2008 - 17 janv. 2003 à 14:11
D'abord bonjour à tous ...
Voila le problème dans un shell ksh j'essaye d'afficher un compteur
$cpt.
L'instruction que je saisi est la suivante :
echo $(cpt+1)
La réponse du système est cpt+1 not found donc visiblement il ne comprend pas que je cherche a afficher le résultat d'une expression arithmétique mais il croit que je veux exécuter une commande. Si je fais le calcul avant et que j'affiche $cpt ca marche, mais j'aimerais tout de même savoir quelle est la bonne syntaxe histoire de ne pas m'endormir idiot.
Soyez indulgent je débute en unix ...
Merci d'avance pour vos éclairages.


Quand j'y pense ... je me demade si je fais bien!
~~ Almr ~~.
A voir également:

1 réponse

A mon avis il faut utiliser la commande expr (elle fonctionne en csh et sh, je ne sais pas en ksh)
a = `expr $a + 1` # Ajoute 1 a la variable a

Tiens moi au courrant

JC
0
almr13 Messages postés 356 Date d'inscription vendredi 22 novembre 2002 Statut Membre Dernière intervention 15 juillet 2008 195
17 janv. 2003 à 14:11
Je suis bien en ksh, j'ai essayé $echo `expr $a+1`, $echo `expr a+1` c'est pas le pied dans le premier cas le système donne comme valeur le contenu de la variable a+1 et dans le second le caractère a+1
J'ai essayé entre temps plusieurs solutions et j'ai trouvé la syntaxe suivante echo $((a+1)) qui marche je comprend pas bien pourquoi, il faut doubler les parenthèses mais je finirais bien par comprendre un jour un peu de lecture et une demi douzaine de gamelle de cette espèce et ca ira ....
Je te remercie en tout cas de ton aide c'etait sympa ...


Quand j'y pense ... je me demande si je fais bien!
~~ Almr ~~.
0