Skip site navigation (1)Skip section navigation (2)
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>