toreae Skrevet 22. september 2013 Del Skrevet 22. september 2013 (endret) Prøver å rette en linje i en plugin på dreamboxen min, FlashBackup. I build-nfi-image_en.sh er følgende linje: let $MEMFREE=`free | grep Total | tr -s " " | cut -d " " -f 4 `/1024 som gir feilmeldingen: arithmetic syntax error. Hva er feil her? Neste linjer er forøvrig: if [ "$MEMFREE" -lt $SWAPSIZE ]; thenecho "Memory is smaller than "$SWAPSIZE"MB, FlashBackup has to create a swapfile"Skjønner heller ikke hvorfor tilbakemeldingen er feil i linje 340, da dette er linje 241. Endret 22. september 2013 av toreae Lenke til kommentar
tomsi42 Skrevet 22. september 2013 Del Skrevet 22. september 2013 Det er kommandoen din som er satt opp feil: $ free | grep total total used free shared buffers cached $ Du skal vel ha linje #2, den finner du med følgende kommando: free | grep "^Mem" Du kan klippe ut første nummeret med denne kommandoen: free | grep "^Mem" | cut -c5-18 | sed -e "s/ //g" Testet ut på CentoS 6 og bash Lenke til kommentar
Occi Skrevet 22. september 2013 Del Skrevet 22. september 2013 (endret) Eller bare bruk kraftfulle awk. By default splitter den på whitespace (spaces, tabs, ...) og $1 gir derfor "Mem" og $2 total memory når du søker etter linjen med "Mem", // indikerer regex. $ free | awk '/Mem/ {print $2}' 8189032 Endret 22. september 2013 av Occi Lenke til kommentar
toreae Skrevet 22. september 2013 Forfatter Del Skrevet 22. september 2013 Faren er stor for at dere snakker over hodet mitt. Det jeg tror jeg skal ha er minne i total, men i MB. Og det skal over i $MEMFREE. Jeg oppfatter det slik at det er først og fremst: let $MEMFREE= Lenke til kommentar
Occi Skrevet 22. september 2013 Del Skrevet 22. september 2013 Fra man free: -m, --mega Display the amount of memory in megabytes. Som da gir: $ MEMFREE=`free -m | awk '/Mem/ {print $2}'` $ echo $MEMFREE 7997 Lenke til kommentar
toreae Skrevet 22. september 2013 Forfatter Del Skrevet 22. september 2013 Takker @Occi. Fant selv ut at "let $" måtte bort. Resultatet ble: MEMFREE=`free -m | awk '/Mem/ {print $2}'`if [ "$MEMFREE" -lt $SWAPSIZE ]; thenecho "Memory is smaller than "$SWAPSIZE"MB, FlashBackup has to create a swapfile"Men skjønner fortsatt ikke hvorfor det ble klagd på linje 340, når feilen var i linje 241! Lenke til kommentar
Occi Skrevet 22. september 2013 Del Skrevet 22. september 2013 (endret) Uten hele scriptet eller feilmeldingen er det vanskelig å gjette flyten og grunnen til hvorfor feilmeldingen kommer fra en annen linje. Uansett, fint at det fikset seg og da setter jeg tråden som løst Endret 22. september 2013 av Occi Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå