On Mon 13 Jun 2016 at 05:17:42 (-0400), Gene Heskett wrote: > On Monday 13 June 2016 04:19:46 Thomas Schmitt wrote: > > > Hi, > > > > Gene Heskett wrote: > > > if test ${InMail} = "gene" > > > bin/mailwatcher: line 66: test: =: unary operator expected > > > > The syntax problem is most probably about missing "-quotes around > > the variable ecaluation ${InMail} which would have to be empty to > > cause the message: > > > > $ test $notdefined = "hello world" > > -bash: test: =: unary operator expected > > $ test "$notdefined" = "hello world" > > > > $ defined=x > > $ test $defined = "hello world" > > $ > > > > Another negative syntax effect would happen if ${InMail} did consist > > of more than one word: > > The likelyhood of that is .0000000slim to none, my procmail would have to > have developed a tummy ache, and I'd have lots bigger problems.
We have been here before, too. https://lists.debian.org/debian-user/2016/04/msg00675.html So why do you want to discover some future problem in procmail by having this script blow up? > > $ multiword="x y" > > $ test $multiword = "hello world" > > -bash: test: too many arguments > > > > (On the other hand, "gene" does not need its quotes because the > > text is a single constant word. "hello world" needs them, because > > of the blank on the middel.) > Ahh, I see. > > ------------------------------------------------------------------- > > > > Is ${InMail} supposed to be empty ? > > If not, then the script has another problem about properly setting > > the variable. > > > That is set by inotifywait's return of the name of the file that procmail > just closed. It may not be a match with my tests as there a virii file > there too. But clamd isn't catching but maybe 10% of that. > > I should probably clear InName to "", but inotifywait has been coping > with that for about a decade :) Hence the reference to "when it *is* empty, it'll be in five years time". I can't understand why you prefer to have to check a load of logic (which you outlined in more detail in https://lists.debian.org/debian-user/2016/04/msg00676.html ) rather than write a few defensively-written tests. Cheers, David.