"Ehud Karni" <e...@unix.mvs.co.il> wrote in message news:200812211606.mblg6lx2014...@beta.mvs.co.il...
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



Thanks Eric and Ehud.

--
Steve


--
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/

Reply via email to