Unusual environemtal variables

Ehud Karni ehud@unix.mvs.co.il
Sun Dec 21 16:07:00 GMT 2008

On Fri, 19 Dec 2008 06:45:14 -0700, Eric Blake <ebb9@byu.net> wrote:
> According to Steve Rainbird on 12/19/2008 2:22 AM:
> SR:> When i run a Fuijitsu Cobol program it requires environmental variables
> SR:> starting with the @ sign.
> That is inherently non-portable.  POSIX states that "Other characters may
> be permitted by an implementation; applications shall tolerate the
> presence of such names," but does not require applications to be able to
> create such names.
> http://www.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08
> SR:>
> SR:> Is there any way around this?
> You'll have to set it in Windows, prior to starting bash, as there is no
> way to make bash create variables not starting with something from the
> portable set [_a-zA-Z].

This behavior (accepting names of only ASCII Alpha and _) is a bash self
imposed limitation. If you use csh (or tcsh) names with other characters
are supported too.

So you can use csh's: setenv "@FOO" "value".
You can also use the env command to bypass bash limitation like this:
    exec env "@FOO=bar" exec /bin/bash -i
Note the 2 `exec' if you do not want to spawn more processes.


 Ehud Karni           Tel: +972-3-7966-561  /"\
 Mivtach - Simon      Fax: +972-3-7966-667  \ /  ASCII Ribbon Campaign
 Insurance agencies   (USA) voice mail and   X   Against   HTML   Mail
 http://www.mvs.co.il  FAX:  1-815-5509341  / \
 GnuPG: 98EA398D <http://www.keyserver.net/>    Better Safe Than Sorry

Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

More information about the Cygwin mailing list