Probleme de script shell

Fermé
emmanuel63000 - 8 févr. 2010 à 19:07
 emmanuel63000 - 15 févr. 2010 à 10:34
Bonjour,

voila mon problème je connait tres peut le shell et j'ai besoin qu'à chaque boucle ma variable prenne la valeur :

high=high+delta
ou delta =0.02 et high commence à zeros.

le script entier est le suivant :

set wavelen=0.65 # 065 for 0.65 um or 164 for 1.64 um wavelength

# Compile the "put" command
if (!(-e put)) cc -o put put.c


# Run SHDOM to perform solar radiative transfer to compute radiances
set prpfile=scene1.prp

# Set SHDOM parameters
set mu0=0.707; set phi0=0.0; set flux0=1.0
set sfcalb=0.0
set Nmu=16; set Nphi=32
set BCflag=0; set IPflag=0; set DeltaM=T
set splitacc=0.01; set shacc=0.0
set solacc=1.0E-4; set accel=T; set maxiter=100
set high=0.00; set top=4; set ib=0
while ($ib < $top)
@ ib++
set Routparm=( $high 0.02 1.0 0.0 0.0 \
14 1.0 0.0 0.866 0.0 0.5 0.0 0.017 0.0 -0.017 0.0 -0.5 0.0 -0.866 0.0 -1 0.0 0.866 180 0.5 180 0.017 180 -0.017 180 -0.5 180 -0.866 180)
set radfile="scene1{$high}.radout"
set Nx=`$AWK 'BEGIN {getline; getline; print $1;}' $prpfile`
set Nz=`$AWK 'BEGIN {getline; getline; print $3;}' $prpfile`
./put scene1 $prpfile NONE NONE NONE NONE "$Nx 1 $Nz" "$Nmu $Nphi" \
$BCflag $IPflag $DeltaM P S "$flux0 $mu0 $phi0" 0.0 $sfcalb $wavelen \
"$splitacc $shacc" "$accel $solacc $maxiter" \
1 R $Routparm $radfile NONE 500 2.5 1.0 1.5 | ./shdom90
set delta=0.02
set high=`expr $high+$delta` <= cette forme ne donne pas un réel


end



endif

merci d'avance !
A voir également:

4 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 896
8 févr. 2010 à 19:27
Salut,

set high=$(echo "$high + $delta" | bc)
0
désolé mais ca ne marche pas, la variable ne prend pas sa valeur.
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 896
9 févr. 2010 à 15:58
jp@MDK:~/tmpfs ssh$ A=0;delta="0.02"

jp@MDK:~/tmpfs ssh$ A=$(echo "$A + $delta" | bc)

jp@MDK:~/tmpfs ssh$ echo $A
.02

jp@MDK:~/tmpfs ssh$ A=2

jp@MDK:~/tmpfs ssh$ A=$(echo "$A + $delta" | bc)

jp@MDK:~/tmpfs ssh$ echo $A
2.02

jp@MDK:~/tmpfs ssh$

;-\
0
emmanuel63000
15 févr. 2010 à 10:34
merci beaucoup !
0