setting environment for bash running via cygserver

Alan Sinclair
Fri Sep 9 22:36:00 GMT 2011

Larry Hall (Cygwin <reply-to-list-only-lh <at>> writes:

> On 9/9/2011 1:44 PM, Alan Sinclair wrote:
> > Where can I set environment variables which will be available in a
> > bash script running under cygserver?
> >
> > I need to ssh onto a remote cygserver and run bash scripts. RSA keys
> > are all set up so no password is needed and I can ssh onto the target
> > machine just fine by doing
> >      ssh me <at> machine bash ~/ ARGS
> >
> > But is not getting the environment it needs. For example,
> > the script needs PROGRAMFILES, and also needs PROCESSOR_ARCHITEW6432
> > set in the environment on 64-bit OS.
> Best to put them in a file you can source when you SSH into the other
> machine.  For the case above, you could then source that in your script
> or in some appropriate rc file if "SSH_CLIENT" is set in your environment.

Thanks. Sourcing a file seems a usable approach. (I'm fairly new to cygwin
and unix in general). SSH_CLIENT is set (and SSH_CONNECTION too) but I
don't understand how to use that in reading an rc file.

When "" records the environment by doing "env > myfile", I can see 
that "USER=me" and "HOME=/home/me" both have expected values (though 
"USERNAME=cyg_server") so I can use HOME to locate the file to source. 

I had thought that /home/me/.bash_profile gets read when starting a 
non-login shell, so tried to export variables there, but I must be
misunderstanding something. The environment my script gets via ssh is different 
than I get when logged in via ssh, which is different again from when I'm logged 
in directly on the computer, and I'd like to understand why.

Problem reports:
Unsubscribe info:

More information about the Cygwin mailing list