Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 1 Aug 2007 09:47:44 -0500
From:      Don Hinton <don.hinton@vanderbilt.edu>
To:        freebsd-questions@freebsd.org
Cc:        Robert Huff <roberthuff@rcn.com>, questions@freebsd.org
Subject:   Re: semi OT: sh scripting problem
Message-ID:  <200708010947.45000.don.hinton@vanderbilt.edu>
In-Reply-To: <18096.39488.530454.883753@jerusalem.litteratus.org>
References:  <18096.39488.530454.883753@jerusalem.litteratus.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to
> "freebsd-questions-unsubscribe@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200708010947.45000.don.hinton>