LÖST: Problem med subtraktion i bash

Här diskuteras programmering och utveckling
trasan
Inlägg: 19
Blev medlem: 09 okt 2008, 13:52
OS: Ubuntu
Utgåva: 12.04 Precise Pangolin LTS

LÖST: Problem med subtraktion i bash

Inlägg av trasan »

Hej,

Har ett backupscript där jag bl.a. räknar dagar mellan dagens dag och senaste backup.

IDAG = date +%j

Låt anta att IDAG = 078

Om jag i bash vill räkna ut '110 - 078' så blir det error.


Kan jag konvertera 078 till 78 på något sätt?
eller finns det något annat sätt att få igång subtraktionen?
Senast redigerad av 1 trasan, redigerad totalt 26 gånger.
Användarvisningsbild
mcNisse
Inlägg: 5211
Blev medlem: 06 feb 2007, 20:51
OS: Debian
Utgåva: Vet inte/ingen utgåva passar

Re: Problem med subtraktion i bash

Inlägg av mcNisse »

printf "%d" $x
Användarvisningsbild
Substrata
Inlägg: 71
Blev medlem: 13 apr 2010, 11:01
OS: Arch Linux
Utgåva: Vet inte/ingen utgåva passar

Re: Problem med subtraktion i bash

Inlägg av Substrata »

Det som blir fel med nollan är att bash tolkar talet med oktal bas. För att ordna decimal bas kan du lägga 10# till vänster om talen:

Kod: Markera allt

$ echo $((10#100-10#078))
22
trasan
Inlägg: 19
Blev medlem: 09 okt 2008, 13:52
OS: Ubuntu
Utgåva: 12.04 Precise Pangolin LTS

Re: Problem med subtraktion i bash

Inlägg av trasan »

tack!

Det var var en perfekt lösning på problemet.
Skriv svar

Återgå till "Programmering och webbdesign"