suulut_sdj Novice
12. november 2020 - 20:19 Der er 3 kommentarer

Linux læser ikke tal over 10 korrekt

Jeg har lavet et lille script til komandolinjen på en synology, som kører på linux.
tester ()
{
dom=11; dow=1;
echo "dom = $dom dow = $dow" ;
if [[ "$dom" = "1" ]] ; then echo "fuld backup" ;
elif [[ "$dow" = "1" && "$dom" = "1" ]] ; then echo "ingenting, backup er taget" ;
elif [[ "$dow" = "1" && "$dom" < "7" ]] ; then hours=$((($dom-1)*(24))) && echo "$hours timer decremental" ;
elif [[ "$dow" = "1" && "$dom" > "6" ]] ; then hours=168 && echo "$hours timer decremental" ;

else hours=24 && echo "incremental backup" ; fi
}
Scriptet fungere glimrende når jeg tester det, men ikke når $dom er over 10. Der bliver resultatet denne linle:
elif [[ "$dow" = "1" && "$dom" < "7" ]] ; then hours=$((($dom-1)*(24))) && echo "$hours timer decremental" ;
Som burde være resultatet når $dom er under 7
Håber nogen kan forklare mig hvorfor linux ikke læser tal over 10?
claes57 Ekspert
13. november 2020 - 07:46 #1
Fjern ˚ om tal, når du tester - det er jo ikke en tekst, men et tal...
claes57 Ekspert
13. november 2020 - 07:47 #2
“ ikke ˚
suulut_sdj Novice
13. november 2020 - 09:08 #3
Tak for svaret :-)
Har ændret til både:
tester ()
{
echo "dom = $dom dow = $dow" ;
if [[ "$dom" = "1" ]] ; then echo "fuld backup" ;
elif [[ $dow = 1 && $dom > 6 ]] ; then hours=168 && echo "$hours timer decremental" ;
elif [[ $dow = 1 && $dom < 7 ]] ; then hours=$((($dom-1)*(24))) && echo "$hours timer decremental" ;
else hours=24 && echo "incremental backup" ; fi
}
og til
tester ()
{
echo "dom = $dom dow = $dow" ;
if [[ "$dom" = "1" ]] ; then echo "fuld backup" ;
elif [[ "$dow" = 1 && "$dom" > 6 ]] ; then hours=168 && echo "$hours timer decremental" ;
elif [[ "$dow" = 1 && "$dom" < 7 ]] ; then hours=$((($dom-1)*(24))) && echo "$hours timer decremental" ;
else hours=24 && echo "incremental backup" ; fi
}
dvs. ingen "" om selve tallene.
Resultatet er desværre det samme. Det er som om at 11 - 19 bliver læst som 1 og 20-29 bliver læst som 2 osv.
har lige testet denne linje:
dow=1; dom=11;
if [[ $dow = 1 && $dom < 2 ]] ; then echo "sand" ; fi
Den er sand
dow=1; dom=22;
if [[ $dow = 1 && $dom < 3 ]] ; then echo "sand" ; fi
Den er sand
Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links

Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





Premium
Siger farvel til Proshop - her er topchef Ivan Jæger Christiansens nye job: "Det kan godt være, det er verdens mest åndssvage beslutning, men det føles virkelig godt"
Interview: Efter fire år som topchef i det fremadstormende Proshop har Ivan Jæger Christiansen meldt sin afgang. Nu tager han hul på drømmen som medejer i et nyt selskab. Se hans nye job.
Computerworld
Biden sender skjult besked til kode-folket: "Hvis du læser dette, har vi brug for din hjælp”
En stående invitation er blevet opdaget i kildekoden på Det Hvide Hus' hjemmeside. Men den er kun til de eksperter, der selv kan finde den.
CIO
Podcast: Hos Viking Life-Saving Equipment er it gået fra at være backend til at være noget, som kunderne spørger aktivt efter
Podcast, The Digital Edge: Viking leverer en stadig større del af deres produkt som en tjeneste. Som en del af tjenesten tager Viking ansvar for sikkerheden ved at levere, dokumentere og vedligeholde det nødvendige sikkerhedsudstyr. Hør hvordan Henrik Balslev senior digital director hos Viking har løftet den opgave.
White paper
Digital transformation tvinger organisationer til at nå deres digitale mål på nye måder
Allerede for to år siden hævdede nordiske virksomheder, at virksomhedernes konkurrenceevne og sågar overlevelse var afhængig af en vellykket digitalisering. De var klar, fulde af håb og på vej mod det digitale paradis. Hvordan gik det så? Hvor er de nu? For at finde ud af det, interviewede DigiPlex og Norstat 377 forretningsledere og IT-beslutningstagere fra organisationer fordelt over hele Danmark, Sverige og Norge om deres digitaliseringsfremskridt, om hvordan de har håndteret pandemien, og om hvordan IT understøtter eller står i vejen for indfrielsen af deres bæredygtighedsmål. DigiPlex kan nu dele en rapport med resultaterne fra undersøgelsen samt tanker om, hvordan man håndterer dem. De deler også nogle nyttige tips til, hvordan man skaber en pålidelig infrastruktur, der kan tilskynde til og understøtte ambitioner i den digitale økonomi. Læs mere i rapporten Nordic Data Center Trends 2020: Riding out the Storm.