Robert Allerstorfer wrote:
The facts are, that procmail's corresponding verbose log line for case 1 above
procmail: Executing " $TEST -d "$av_REQUIRED_DIR""
while for case 2 it is
procmail: Executing "test -d /home/roal/mail/TRASH/viruses/EXE"
A shell is still invoked either way (note the spaces rather than commas
in the logfile entry); the only difference is that for case 2, the
logfile shows the values of the variables instead of the names. So the
way the logfile looks is, as I suspected, the only reason you have the
extra quoting layer and the extra evaluation pass. You aren't avoiding
the invocation of a shell.
I also asked,
3. What determines in the first place whether $TEST is a full path or
just the word "test"?
Mr. Allerstorfer evaded the issue with a total non-answer:
procmail: Assigning "TEST=/usr/bin/test"
procmail: Assigning "TEST=test"
Sigh. Keep your day job. You have no talent as a comedian.
Maybe you'll like this phrasing better: what determines whether procmail
assigns a full path or or just the word "test" to the variable TEST?
procmail mailing list