Re: OT: shell scripting problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tuesday 17 May 2005 17:14, linux.whiz@xxxxxxxxx wrote:

> On 5/17/05, kevin.kempter@xxxxxxxxxxxxxxxxx

>

> <kevin.kempter@xxxxxxxxxxxxxxxxx> wrote:

> > You get this behavior because the internal field separator by default

> > recognizes spaces, tebs, etc as field separators.

> >

> > Try this instead (where names.lst is your file of names):

> >

> > exec < ./names.lst

> > while read line

> > do

> > myscript.sh $line

> > done

>

> As soon as I issue the exec < ./names.lst command, my shell exits. My

> understanding is that exec takes over the PID of the current process,

> so when you try to exec a text file it makes sense that the process

> would exit.

>

> Other ideas?

>

> LW

The exec thing usually works for me. Maybe you already have stdin tied up???

Here's a bit of a hokey fix but it should work.

1) make your names.lst file look like this with a dash (-) as a replacement for any spaces

John-A-Smith

Mary-P-James

Sally-R-Jones

Fred-Q-Davis

then do this in your script:

for i in `cat names.lst`; do

username=`echo $i | sed "s/-/ /g"`

myscript.sh $username

done


[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux