l i n u x - u s e r s - g r o u p - o f - d a v i s
Next Meeting:
July 7: Social gathering
Next Installfest:
Latest News:
Jun. 14: June LUGOD meeting cancelled
Page last updated:
2001 Dec 30 17:07

The following is an archive of a post made to our 'vox-tech mailing list' by one of its subscribers.

Report this post as spam:

(Enter your email address)
Re: [vox-tech] Calling a shell pgm from perl to change ENV
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [vox-tech] Calling a shell pgm from perl to change ENV

>From the bash man page:

       source filename [arguments]
              Read and execute commands from filename in the cur-
              rent  shell  environment and return the exit status
              of the last command  executed  from  filename.

It looks like source'ing a file executes the commands in the 2nd shell
program  as if it was executing it in the 1st shell.  Would that be the
equivalent to eval'ing in Perl?  Anyone know?


On Wed, 11 Jul 2001, Jay Strauss wrote:

> Is this only a perl thing?
> Cause I can have 2 shell programs and from the 1st shell program, I can
> "source" the 2nd and change the parent's shell.
> Jay
> ----- Original Message -----
> From: <jdnewmil@dcn.davis.ca.us>
> To: <vox-tech@franz.mother.com>
> Sent: Wednesday, July 11, 2001 8:18 PM
> Subject: Re: [vox-tech] Calling a shell pgm from perl to change ENV
> > On Wed, 11 Jul 2001, Nicole Carlson wrote:
> >
> > > On Wed, 11 Jul 2001, Foo Lim wrote:
> > > > Sorry, I can't help you any more than that, I'm afraid.  Child
> processes
> > > > should inherit the environment from the parent, but can't change the
> > > > environment of the parent, which makes sense when you think about
> > > > programming the UNIX environment.
> > > >
> > > > Anyone else wanna take a stab at this?
> > >
> > > I think you're right, Foo.  IIRC, the *only* thing shared between parent
> > > and child processes is file descriptors.  Everything else is copied, and
> > > changes to the child's environment will not affect the parent.
> >
> > Check.
> >
> > > WARNING: ugly and untested idea.  Perhaps your Perl script could rewrite
> > > and re-source the .login or .bashrc or .whatever file?
> >
> > The only way you can change the parent's environment is to have the parent
> > receive suggested changes and process them itself.  Communicating those
> > changes through changes to .login or .bashrc would seem inappropriate, but
> > a dedicated file could be used.  The parent could even specify the name of
> > the file, created for the purpose.
> >
> > Somehow, I don't think this is the answer Jay wants, though.  Dem's da
> > breaks. :)

LUGOD Group on LinkedIn
Sign up for LUGOD event announcements
Your email address:
LUGOD Group on Facebook
'Like' LUGOD on Facebook:

Hosting provided by:
Sunset Systems
Sunset Systems offers preconfigured Linux systems, remote system administration and custom software development.

LUGOD: Linux Users' Group of Davis
PO Box 2082, Davis, CA 95617
Contact Us

LUGOD is a 501(c)7 non-profit organization
based in Davis, California
and serving the Sacramento area.
"Linux" is a trademark of Linus Torvalds.

Sponsored in part by:
O'Reilly and Associates
For numerous book donations.