On Fri, 11 Jul 1997 you (Jim Irwin) wrote:
If you actually require that $N hold the string "055", use
"declare" rather than "let".
bash:~$ declare N=055
bash:~$ echo $N
055
Thanks for all that Jim.  Several folks here have pointed out that  
I misread the manual on the base10 business: the form, as you point  
out, is 10#063.
I start with a string that may lead with zero because this is  
derived from a filename that I want to ++.  So I need to coerce this  
string to an int, increment it, and coerce it back to a string.
Here, for completeness, is the "proof of concept" script, with  
acknowledgements to several here who helped with it.  You'll notice  
I've retained the kludge I did to workaround my misunderstanding of  
the base10 stuff -- it ain't so bad.
=================cut here================
#! /usr/gnu/bin/bash
# directories are nested thus (where <nnn> is a number of the
# form 004, and nb<nnn> is a file):
#  nbytes
#     #nb<nnn>
#        nb<nnn>
# find the highest numbered directory in nbytes
# and then find the highest numbered file in that
# directory, so we can create a new file in sequence.
NBDIR="/Net/NetWare/AST/JAMES_II/nbytes/"
HIGHEST=`ls -1 $NBDIR | tail -1`
LATEST=`ls -1 ${NBDIR}/${HIGHEST} | tail -1`
N=`echo $LATEST | cut -c 3-`
NN=1${N}
# assuming that $N always has three digits.
let NNN=NN-999
if [ $NNN -lt 10 ]
   then NNN="00${NNN}"
elif
   [ $NNN -lt 100 ]
   then NNN="0${NNN}"
fi
NEWEST="nb${NNN}"
echo $NEWEST
=================cut here================
el bid