semi OT: sh scripting problem
Don Hinton
don.hinton at vanderbilt.edu
Wed Aug 1 15:36:15 UTC 2007
On Wednesday 01 August 2007 09:35:44 Robert Huff wrote:
> (This is probably a FAQ, and I'll take a pointer (or even the
> magic words to identify the problem) instead of an answer.)
> Let's suppose I have a file FILE, with contents:
>
> foo
> bar grill
> baz
>
> If I do "cat FILE", everything comes out fine.
> If, however, I write a script:
>
>
> #!/bin/sh
>
> for i in `cat FILE`
> do
> .
> .
> .
> .
> done
>
> $i is set to
>
> foo
> bar
> grill
> baz
>
> Is there a way within the script - or, failing that, by
> modifying FILE - to not break at the whitespace?
I'm sure someone will give you a more elegant solution, but short of using sed
or awk (my preference), this might help:
$ cat test.sh
#!/bin/sh
myloop()
{
while read line; do
echo $line
done
}
cat test.sh | myloop
hth...
don
>
>
> Robert Huff
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to
> "freebsd-questions-unsubscribe at freebsd.org"
--
Don Hinton <don.hinton at vanderbilt.edu> or <hintonda at gmail.com>
Institute for Software Integrated Systems (ISIS), Vanderbilt University
tel: 615.480.5667 or 615.870.9728
More information about the freebsd-questions
mailing list