Date: Sun, 23 Dec 2012 10:43:11 +0100 From: Polytropon <freebsd@edvax.de> To: Jack Mc Lauren <jack.mclauren@yahoo.com> Cc: FreeBSD Global Users Mailing List <freebsd-questions@freebsd.org> Subject: Re: shell script problem Message-ID: <20121223104311.557f3752.freebsd@edvax.de> In-Reply-To: <20121223103434.def7cd9c.freebsd@edvax.de> References: <1356253535.76738.YahooMailClassic@web160101.mail.bf1.yahoo.com> <20121223103434.def7cd9c.freebsd@edvax.de>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 23 Dec 2012 10:34:34 +0100, Polytropon wrote: > First, the lines with "read" have to be: > > cat /foo/bar.txt | while read $LINE1 > > cat /foo/bar/foo/bar.txt | while read $LINE2 > > Reason: $LINE1 and $LINE2 will be evaluated here, they are "empty > string", causing "read" to throw an error. Excuse me - I made a mistake! Of course those two lines have to be: cat /foo/bar.txt | while read LINE1 and cat /foo/bar/foo/bar.txt | while read LINE2 The $ infront of the variable names have to be removed. The variable _name_, not its content, has to be provided to "read" as a parameter. The script so far: #!/bin/sh cat foo.txt | while read LINE1 do cat bar.txt | while read LINE2 do if [ "$LINE1" = "$LINE2" ]; then sw="1" echo "Current value of sw is : " $sw break fi done echo "Value of sw is : " $sw if [ "$sw" = "0" ]; then echo "DO SOMETHING!" fi sw="0" done -- Polytropon Magdeburg, Germany Happy FreeBSD user since 4.0 Andra moi ennepe, Mousa, ...
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20121223104311.557f3752.freebsd>