Valdis wrote:
On Mon, 07 May 2012 23:23:12 -0400, David Levine said:
I had tried dash first. It caught a few things but not as much
as heirloom-sh.
OK, I'll bite. It caught a few things, or it broke a few things?
I guess that depends on how you look at it. Anyway,
I'll start a list in test/README:
- Use `` instead of $().
- Wrap shell variables with "" if they could possibly contain
whitespace or special characters that would affect syntax.
- Use the arith_eval() function in common.sh instead of $(()) or expr.
It detects at run time if $(()) is available.
- Use grep >/dev/null instead of grep -q.
- Don't use egrep, grep -E, fgrep, grep -F, or other non-portable grep
functionality. The built-in case statement supports alternation (|).
- Don't use ! to negate conditions. Instead, use something like:
<condition> || <statement>
or
if <condition>; then :; else <statements> fi
- Separate variable assignment from export (don't assign in export
statements).
- Use sed >tmpfile and mv instead of sed -i.
- Avoid depending on the exact format of output from system (non-nmh)
programs.
David
_______________________________________________
Nmh-workers mailing list
Nmh-workers(_at_)nongnu(_dot_)org
https://lists.nongnu.org/mailman/listinfo/nmh-workers