webForumDet fria alternativet

Unsigned integer i sh scipt

3 svar · 323 visningar · startad av Viktor

ViktorMedlem sedan aug. 20021 752 inlägg
#1

Hej

Jag har lite problem, när jag försöker gämföra två tal så går det bara bra så länge inget av talen är större än ca 2 miljarder men talen som jag gämför kan vara upp till över 4 miljarder (max för en unsigned integer) så hur gör man för att test ska fungera också med unsigned integer?

/Viktor

spangoMedlem sedan juni 20008 205 inlägg
#2

Kika på programmet bc, det borde kanske kunna fixa det åt dig. Något i stil med:

if [ $(echo "$reallybig == $alsohuge" | bc) == "1" ]; then
    # lika
fi
ViktorMedlem sedan aug. 20021 752 inlägg
#3

Har tyvärr inte tillgång till bc på min router :(

/Viktor

ViktorMedlem sedan aug. 20021 752 inlägg
#4

Hittade en lösning :)

expr fungerar med unsigned ints,

#!/bin/sh
if [ ! `expr 4000000000 > 25` ]
then
	echo "Ett stort tal och ett lite mindre"
else
	echo "Två STORA tal"
fi

/Viktor

123 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
121 ms — hämta tråd, inlägg och bilagor (db)