Je suis en train d'exécuter un script bash qui comprend une imbriqué pour boucle dans laquelle une variable doit passer en revue les exposants négatifs, à savoir:script Bash utilisant négatif pour faire défiler
for ABPOW in {-11..-9}
do
ABC = $((10**$ABPOW))
for ABCOEFF in {1..9}
do
sed -e 's/ACOEFF/'$ABC'/'\
Ce n'est que les deux intérieure pour les boucles du code. Lorsque les valeurs dans la première parenthèse (pour ABPOW) sont positives, le code fonctionne bien. Cependant, quand je les ai comme je le fais ci-dessus, qui est ce que j'ai besoin, l'erreur est communiqué à l'écran:
./scripting_test2.bash: line 30: 10**-11: exponent less than 0 (error token is "1")
Comment puis-je faire cette course? Merci d'avance.
PS: J'ai essayé de mettre un signe négatif devant $ABPOW
mais les exposants sont toujours pas considérés comme positifs.
Merci user000001. Dans le fichier où ces valeurs sont sauvegardées, j'obtiens la valeur correcte après avoir utilisé le code que vous avez indiqué ci-dessus, mais il est sous la forme: abundance = 4 * .00000000001000000000; Tous les zéros supplémentaires après la position du 1 n'ont pas de sens? – stars83clouds
@ stars83clouds Pas vraiment possible d'enlever les zéros de fin avec 'bc' AFAIK. Mais vous pouvez utiliser 'awk', comme par exemple:' ABC = $ (awk '{print 10^$ 1}' <<< "$ ABPOW") ' – user000001