From: Eric Blake Date: Fri, 11 Nov 2011 20:51:33 +0000 (-0700) Subject: doc: mention export portability hint X-Git-Tag: v2.68b~46 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2f3cec7dfc609308f645b593dc5e396f9f790f4d;p=thirdparty%2Fautoconf.git doc: mention export portability hint * doc/autoconf.texi (Limitations of Builtins) : Document export limitation. Suggested by Bruno Haible. Signed-off-by: Eric Blake --- diff --git a/ChangeLog b/ChangeLog index e51f7d74..72b1dbcc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2011-11-11 Eric Blake + + doc: mention export portability hint + * doc/autoconf.texi (Limitations of Builtins) : Document + export limitation. + Suggested by Bruno Haible. + 2011-10-21 Stefano Lattarini fortran: define $GFC to "yes" if $FC is a GNU compiler diff --git a/doc/autoconf.texi b/doc/autoconf.texi index b6dc67b8..417c432d 100644 --- a/doc/autoconf.texi +++ b/doc/autoconf.texi @@ -17642,6 +17642,20 @@ $ @kbd{ash -c 'export foo; env | grep foo'} foo= @end example +Posix requires @command{export} to honor assignments made as arguments, +but older shells did not support this. Portable scripts should separate +assignments and exports into different statements (it does not matter if +the export comes before or after the assignment). + +@example +$ @kbd{bash -c 'export foo=bar; echo $foo'} +bar +$ @kbd{/bin/sh -c 'export foo=bar; echo $foo'} +/bin/sh: foo=bar: is not an identifier +$ @kbd{/bin/sh -c 'export foo; foo=bar; echo $foo'} +bar +@end example + @item @command{false} @c ------------------ @prindex @command{false}