Mam dziwny problem z zamianą w Bashu zmiennej tekstowej zawierającej liczbę na wartość.
Wg literatury powinna tu działać formuła $((zmienna))
I tak jest … ale nie zawsze!
Poprawny jest wynik dla większości wartości zmiennej, np.:
i=4
echo $((i))
4
i=04
echo $((i))
4
i="04"
echo $((i))
4
Jednak pojawia się problem, gdy zmienną jest 08
, "08"
, "09"
czy "008"
. Wtedy jest błąd:
i=08
echo $((i))
bash: 08: wartość za duża na podstawę (błędny znacznik to "08")
i=008
echo $((i))
bash: 008: wartość za duża na podstawę (błędny znacznik to "008")
i="09"
echo $((i))
bash: 09: wartość za duża na podstawę (błędny znacznik to "09")
O co tu chodzi? Jak to mogę rozwiązać?