Date: Thu, 5 Dec 2019 11:03:24 +0000 From: Arthur Chance <freebsd@qeng-ho.org> To: Polytropon <freebsd@edvax.de>, freebsd-questions@freebsd.org Subject: Re: Counter in sh inside loop, value "encapsulation" Message-ID: <798639b5-75fb-a82f-c024-4eee8d55e1c5@qeng-ho.org> In-Reply-To: <20191205073531.cb2a23ac.freebsd@edvax.de> References: <20191204181300.8dd0e03c.freebsd@edvax.de> <slrnqug5mi.srf.naddy@lorvorc.mips.inka.de> <20191205051145.78f9a805.freebsd@edvax.de> <20191205073531.cb2a23ac.freebsd@edvax.de>
next in thread | previous in thread | raw e-mail | index | archive | help
On 05/12/2019 06:35, Polytropon wrote: > For further reference, the simple solution is always the best one. > I now have the following: > > COUNT=0 > for URL in `grep "^https" ${INFILE}`; do > process ${URL} > if [ $? -eq 0 ]; then > COUNT=`expr ${COUNT} + 1` > fi > done > echo "URLs processed: ${COUNT}" > > There now is no piping step (and therefore no subshell) involved. > This works and can be easily extended (more preprocessing from > the input list file). > > I have no idea why I didn't think of this in the first place... :-) > A minor point: you can replace COUNT=`expr ${COUNT} + 1` with COUNT=$((COUNT + 1)) to use arithmetic expansion rather than spawning a subshell for the backticks. -- What do we want? A time machine! When do we want it? Errm ...
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?798639b5-75fb-a82f-c024-4eee8d55e1c5>