30 NİSAN 2009, PERŞEMBE
Nasıl bir değişkeni bash bir sayı ise test edebilirim?
Nasıl bir argüman senaryomu geçirilen bir numara ya da değil emin olun. Tek istediğim böyle bir şey
test *isnumber* $1 && VAR=$1 || echo "need a number"
GÜNCELLEME: Başardım (Charles' help) ama hala en iyi yol bu benim testler işe yaradı bile olsa) yapmak emin değilim. Bu nasıl bitti
[[ $1 =~ "^[0-9] $" ]] && echo "number" && exit 0 || echo "not a number" && exit 1
CEVAP
30 NİSAN 2009, PERŞEMBE
Bir yaklaşım, bir düzenli ifade, şu şekilde kullanın:
re='^[0-9] $'
if ! [[ $yournumber =~ $re ]] ; then
echo "error: Not a number" >&2; exit 1
fi
Eğer değer mutlaka bir tamsayı değilse, uygun şekilde düzenli değiştirilmesi düşünün; örneğin:
^[0-9] ([.][0-9] )?$
...ya da, negatif sayılar işlemek için:
^-?[0-9] ([.][0-9] )?$
Bunu PaylaÅŸ:

Nasıl bir bash betiği içinde düzenli i...
Nasıl bir dizi belirli bir değeri vars...
Nasıl bir dize Amaç C boşsa test edebi...
Nasıl bash sayı değişkenleri tarafında...
Objective-C, nesne türü nasıl test ede...