@section Portable Shell Programming
When writing your own checks, there are some shell script programming
-techniques you should avoid in order to make your code portable.
-The Bourne shell and upward-compatible shells like Bash and the Korn
-shell have evolved over the years, but to prevent trouble, do not take
+techniques you should avoid in order to make your code portable. The
+Bourne shell and upward-compatible shells like Bash and the Korn shell
+have evolved over the years, but to prevent trouble, do not take
advantage of features that were added after UNIX version 7, circa 1977.
-You should not use shell functions, aliases, or other features that are
-not found in all Bourne-compatible shells; restrict yourself to the
-lowest common denominator. Even @code{unset} is not supported by all shells!
+You should not use shell functions, aliases, negated character classes,
+or other features that are not found in all Bourne-compatible shells;
+restrict yourself to the lowest common denominator. Even @code{unset}
+is not supported by all shells!
The set of external programs you should run in a @code{configure} script
is fairly small. @xref{Utilities in Makefiles, , Utilities in
@section Portable Shell Programming
When writing your own checks, there are some shell script programming
-techniques you should avoid in order to make your code portable.
-The Bourne shell and upward-compatible shells like Bash and the Korn
-shell have evolved over the years, but to prevent trouble, do not take
+techniques you should avoid in order to make your code portable. The
+Bourne shell and upward-compatible shells like Bash and the Korn shell
+have evolved over the years, but to prevent trouble, do not take
advantage of features that were added after UNIX version 7, circa 1977.
-You should not use shell functions, aliases, or other features that are
-not found in all Bourne-compatible shells; restrict yourself to the
-lowest common denominator. Even @code{unset} is not supported by all shells!
+You should not use shell functions, aliases, negated character classes,
+or other features that are not found in all Bourne-compatible shells;
+restrict yourself to the lowest common denominator. Even @code{unset}
+is not supported by all shells!
The set of external programs you should run in a @code{configure} script
is fairly small. @xref{Utilities in Makefiles, , Utilities in