Hi Pablo, On Mon, Dec 16, 2019 at 10:41:57PM +0100, Pablo Neira Ayuso wrote: > If argv[i] contains spaces, then restore the quotes on this string. > > There is one exception though: in case that argc == 2, then assume the > whole input is coming as a quoted string, eg. nft "add rule x ...;add ..." > > This patch is adjusting a one test that uses quotes to skip escaping one > semicolon from bash. Two more tests do not need them. I appreciate your efforts at making my BUGS note obsolete. :) In this case though, I wonder if this really fixes something: I use quotes in only two cases: A) When forced by the parser, e.g. with interface names. B) To escape the curly braces (and any semi-colons inside) in chain or set definitions. Unless I miss something, case (A) will still need escaped quotes since interface names usually don't contain whitespace. In case (B), your patch would typically bite me as I merely quote the braces, like so: | # nft add chain inet t c '{ type filter hook input priority filter; policy drop; }' Of course that's a matter of muscle memory, but IIUC, your fix won't work if one wants to pass flags in addition to a quoted command. Or does getopt mangle argc? Cheers, Phil