On Friday 10 June 2016 01:34:14 David Wright wrote: > On Fri 10 Jun 2016 at 01:04:40 (-0400), Gene Heskett wrote: > > On Thursday 09 June 2016 23:50:35 David Wright wrote: > > > On Thu 09 Jun 2016 at 22:41:27 (-0400), Gene Heskett wrote: > > > > A bash script that has worked most of a decade now refuses. > > > > > > > > For instance, assume that var InMail is = "gene", and can be > > > > echoed from the command line using $InMail like this. > > > > gene@coyote:~$ echo $InMail > > > > gene > > > > But I'll be switched if I can get a result from a line of code > > > > resembling this from the command line while attempting to > > > > troubleshoot a 110 line bash script: which asks "if test > > > > [${InMail} = "gene"] > > > > then > > > > ----- > > > > elif (another name) > > > > yadda yadda > > > > > > > > gene@coyote:~$ echo `test [${InMail} = "gene"]` > > > > > > > > All I get is the linefeed. Obviously I'm losing it, so how do I > > > > translate and get usefull output for troubleshooting? > > > > > > $ `[ ${InMail} = "gene" ]` ; echo $? > > > 0 > > > $ `[ ${InMail} = "xgene" ]` ; echo $? > > > 1 > > > $ `test ${InMail} = "gene"` ; echo $? > > > 0 > > > $ `test ${InMail} = "xgene"` ; echo $? > > > 1 > > > $ > > > > > > elif needs [], not (), and it needs a then too. > > > > > > [ is a command like test, so it must be followed by a space > > > before its argument. > > > > > > Often the easiest way of solving these is grep -A ... used with > > > /etc/init.d/* > > > > This script is home brew, and has never had a starter in /etc/init.d > > Um, not my intention to make you try. > > Look, /etc/init.d/* is a collection of scripts that work. > grep searches files for patterns. > Put them together and you can bash away by example. Try > > $ grep -A 6 -B 6 elif /etc/init.d/* | less > > and you will get lots of examples of multiple tests involving strings > (like yours), numbers, arithmetic xpressions etc. all syntactically > correct. Copy what you need, either from there or the original file. > > Cheers, > David.
Ah, I see. Been guilty of that before, but my memory isn't what it was even 40 years ago, darn it. Cheers, Gene Heskett -- "There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order." -Ed Howdershelt (Author) Genes Web page <http://geneslinuxbox.net:6309/gene>