Weil dann durch die führende Null die Zahl als Oktalzahl interpretiert wird. Deine Testvariable scheint vom Type Integer zu sein.chappert schrieb:wenn ich im script sage
TEST=`cat /path/test`
echo $TEST
kommt nicht 016 raus sonder 14 warum?
priv0001:~ # TEST="016"
priv0001:~ # echo $TEST
016
priv0001:~ # typeset -i TEST
priv0001:~ # TEST="016"
priv0001:~ # echo $TEST
14
entweder verhindern dass da vor einer Zahl eine Null steht, oder verhindern das diese Null interpretiert wird.chappert schrieb:und wie ist die lösung?
oder was muss ich machen?
typeset -i TEST
TEST=`echo 0123 | sed 's/0*\([0-9]*\)[^0-9]*$/\1/' `
echo $TEST
Das Problem ist die Null am Anfangbyron1778 schrieb:Code:#!/bin/sh a=2334 # $a ist ein Integer let "a += 1" # $a ist nun "2335" und ein Integer echo -e $a
priv0001:~ # a=0334 # $a ist ein Integer
priv0001:~ # let "a += 1" # $a ist nun "0335" und ein Integer
priv0001:~ # echo -e $a
221