Probleme de script shell

emmanuel63000 -  
 emmanuel63000 -
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 !
Configuration: Linux Red Hat
Firefox 3.0.16

4 réponses

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    set high=$(echo "$high + $delta" | bc)
    0
  2. emmanuel63000
     
    désolé mais ca ne marche pas, la variable ne prend pas sa valeur.
    0
  3. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    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