Mailinglist Archive: opensuse (2162 mails)
| < Previous | Next > |
RE: [opensuse] OT: bash F1
- From: "Nick Zeljkovic" <nzeljkovic@xxxxxxxxx>
- Date: Mon, 18 Aug 2008 10:45:06 +0200
- Message-id: <000b01c9010e$b856dc80$29049580$@com>
# no need for expr to increment $NEWNUM
NEWNUM=$(( ${CURNUM} + 1))
If CURNUM is empty, or not a number, NEWNUM will be assigned a value of
"1"
This whole messy code I came up with was due to bash not liking leading
zeros for calculations. If my input of $CURNUM is "001" it will calculate it
as "2" instead of "002".
NUMLEN=`expr length $NEWNUM`
No need for that line, unless you actually need $NUMLEN at some other
point. If you do, you don't need to use expr:
# return the length of the variable $NEWNUM
NUMLEN=${#NEWNUM}
Thanks, expr was first thing to come on my mind to do that. I need NUMLEN so
I can know how many zeros to add to file identifier.
And these can be reduced to one line:
FID=$(printf "%03u" "${NEW_NUM}")
Thanks! I was missing that, seems to have done the trick replacing my
checks, but something funky is going on there with numbers like 010 or
anything starting with one zero:
root@sgd1 [~/bin]# NEWNUM="015"
root@sgd1 [~/bin]# echo $NEWNUM
015
root@sgd1 [~/bin]# printf "%03u" "${NEWNUM}"
013
Any ideas ?
--
Best regards,
Nick Zeljkovic
--
To unsubscribe, e-mail: opensuse+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse+help@xxxxxxxxxxxx
| < Previous | Next > |