ukleemann
Goto Top

Binary operator expected und too many arguments

Hallo liebe Kollegen und innen,


43 # Auslesen der VMID
               44 vmid=$(eval echo "${vmliste[$i]}"|awk '{print$1}')  
               45#echo $vmid
               46  vmid=$(eval echo ${vmid#*/})
               47 #echo $vmid
               48 node=$(eval echo "${vmliste[$i]}"|awk '{print$13}')  


               51 # Auslesen des nominellen RAM der VM
               52 ramvm=$(eval echo "${vmliste[$i]}"|awk '{print$9}')  
               53 ramvm=$(eval echo ${ramvm%.*})
               54 # Berechnung der Summe des nominell vergebenen RAMs aller VMs im Cluster
               55 let 'summeramnominell=summeramnominell+ramvm'  

               54 # Berechnung der Anzahl laufender und gestoppter VMs
               55 helper=$(eval echo ${vmliste[i]}|grep -c '\<running\>')  
               56                 let 'sumstatusrun=sumstatusrun+helper'  

               57 # if [ "$(eval echo $helper)" = "0" ]; then 
               58 helper2=$(eval echo ${vmliste[i]}|grep -c '\<stopped\>')  
               59      let 'sumstatusstopped=sumstatusstopped+helper2'  
               # fi



ich bekomme binary operator expected und too many arguments.

Was stimmt da am Code nicht?

Vielen Dank

Gruss

Uli

Content-ID: 670540

Url: https://administrator.de/forum/binary-operator-expected-und-too-many-arguments-670540.html

Ausgedruckt am: 08.01.2025 um 13:01 Uhr

SlainteMhath
SlainteMhath 07.01.2025 um 15:40:55 Uhr
Goto Top
Schuss ins Blaue: das # in Zeile 4 ist nicht maskiert.
gastric
gastric 08.01.2025 aktualisiert um 10:25:26 Uhr
Goto Top
Was stimmt da am Code nicht?

Überflüssige und obendrein gefährliche "eval" Hölle !(Kotz) ....

# Auslesen der VMID
vmid=$(echo "${vmliste[$i]}" | awk '{print $1}')  
vmid=${vmid#*/}
node=$(echo "${vmliste[$i]}" | awk '{print $13}')  

# Auslesen des nominellen RAM der VM
ramvm=$(echo "${vmliste[$i]}" | awk '{print $9}')  
ramvm=${ramvm%.*}
# Berechnung der Summe des nominell vergebenen RAMs aller VMs im Cluster
summeramnominell=$((summeramnominell+ramvm))

# Berechnung der Anzahl laufender und gestoppter VMs
helper=$(echo "${vmliste[i]}" | grep -c '\<running\>')  
sumstatusrun=$((sumstatusrun+helper))

helper2=$(echo "${vmliste[i]}" | grep -c '\<stopped\>')    
sumstatusstopped=$((sumstatusstopped+helper2))

Wobei der eigentliche Fehler eher woanders liegt und nicht in dem Ausschnitt. In dem übrigens Zeilen Doppelt nummeriert sind (54/55) ... Wenn die Nummern da tatsächlich im Code stehen, naja dann ist eh Feierabend face-big-smile.

Gruß gastric