Modification d'une variable dans une boucle for
Bonjour,
je suis en train d'écrire un script pour soumettre des jobs sur cluster, seulement je rencontre une difficulté lorsque je dois modifier successivementdes variables à l'intérieur d'une boucle for. Je suis parvenu à isoler le problème dans le but de code suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
#!/bin/bash
echo un test rapide
i=03
declare "Lidar_Clouds_NO_rd""$i"=5863766
echo Lidar_Clouds_NO_rd$i=$((Lidar_Clouds_NO_rd$i))
declare "Lidar_Clouds_HSRL_rd""$i"=5863767
echo Lidar_Clouds_HSRL_rd$i=$((Lidar_Clouds_HSRL_rd$i))
i=04
declare "Lidar_Clouds_NO_rd""$i"=5863768
echo Lidar_Clouds_NO_rd$i=$((Lidar_Clouds_NO_rd$i))
declare "Lidar_Clouds_HSRL_rd""$i"=5863769
echo Lidar_Clouds_HSRL_rd$i=$((Lidar_Clouds_HSRL_rd$i))
for i in `seq -w 03 04`
do
declare ""dependency_list_Merge_Clouds_rd"$i"=$((Lidar_Clouds_NO_rd$i))":"$((Lidar_Clouds_HSRL_rd$i))
echo dependency_list_Merge_Clouds_rd$i=$((dependency_list_Merge_Clouds_rd$i))
done |
Voici ce que j'obtiens à l'exécution :
un test rapide
Code:
1 2 3 4 5
| Lidar_Clouds_NO_rd03=5863766
Lidar_Clouds_HSRL_rd03=5863767
Lidar_Clouds_NO_rd04=5863768
Lidar_Clouds_HSRL_rd04=5863769
./rdiffm2_17_11.sh: ligne 24: 5863766:5863767 : erreur de syntaxe dans l'expression (le symbole erroné est «*:5863767*») |
alors qu'à la dernière ligne, le résultat que j'aurais aimé obtenir est:
Code:
1 2
| dependency_list_Merge_Clouds_rd03=5863766:5863767
dependency_list_Merge_Clouds_rd04=5863768:58637679 |
Je ne comprends pas bien l'origine du problème. Selon moi, l'opération a effectué serait une concaténation, j'ai bien essayé différentes syntaxes comme
Code:
declare ""dependency_list_Merge_Clouds_rd"$i"="$((Lidar_Clouds_NO_rd$i))":"$((Lidar_Clouds_HSRL_rd$i))"
mais je ne parviens pas à corriger l'erreur....
Je vous remercie par avance de votre aide, si vous pouviez m'expliquer l'origine de mon erreur ?