On Fri, 19 Dec 2008 06:45:14 -0700, Eric Blake <e...@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. -- 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/