Ow Mun Heng wrote: >Guys, > > Writing a batch_create_new_user script. >input is a file with this format > >Username:Full Name:Default Group:Default Shell:Home Directory:Password > >and the using those fields ($1 $2 $3 etc) and passing then to the >useradd program > >I'm having some trouble getting bash to get the positional fields >into variables which I >can then plug into useradd > >eg: >pseudo code >for each line in input file > do > username=$1 > name=$2 > useradd -c "$2" $1 > done > >Can it be done using bash itself? (without calling awk) Try setting the input field separator, $IFS, something like this: $ IFS=:; while read a b c; do echo Got $b; done a:b:c Got b foo:bar:moo Got bar -- John Kodis Goddard Space Flight Center kodis@xxxxxxxxxxxxxxxxxxxxx Greenbelt, Maryland, USA Phone: 301-286-7376 Fax: 301-286-1771