Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re: Re: UNIX environment setup via perl

by haoess (Curate)
on May 07, 2004 at 16:22 UTC ( #351511=note: print w/ replies, xml ) Need Help??


in reply to Re: UNIX environment setup via perl
in thread UNIX environment setup via perl

> You should check for $ENV{SHELL} and emit "setenv VAR VALUE"
> lines if appropriate.

$ENV{SHELL} is not a way to determine your current shell. $ENV{SHELL} is your »preferred shell« (aka login shell in /etc/passwd), see The Single UNIX Specification, Version 3.

Example:

# we are in bash, all is fine $ eval `perl -le 'print $ENV{SHELL} =~ /csh/ ? "setenv FOO bar" : "exp +ort FOO=bar"'` # now we switch to tcsh $ tcsh $ eval `perl -le 'print $ENV{SHELL} =~ /csh/ ? "setenv FOO bar" : "exp +ort FOO=bar"'` $ export: Command not found. $ echo $SHELL /bin/bash

It seems that there is no portable way to find out the name of your current shell. We discussed that some time ago at de.comp.os.unix.shell.


Comment on Re: Re: UNIX environment setup via perl
Download Code
Re: Re: Re: UNIX environment setup via perl
by eserte (Deacon) on May 07, 2004 at 17:24 UTC
    Looking at $ENV{SHELL} is probably the best we can do --- other programs seem to do it the same way (and therefore do it wrong):
    $ env SHELL=/bin/sh ssh-agent SSH_AUTH_SOCK=/tmp/ssh-XXN54U4g/agent.3950; export SSH_AUTH_SOCK; SSH_AGENT_PID=3951; export SSH_AGENT_PID; echo Agent pid 3951;
    $ env SHELL=/bin/tcsh ssh-agent setenv SSH_AUTH_SOCK /tmp/ssh-XXPC7hgb/agent.3948; setenv SSH_AGENT_PID 3949; echo Agent pid 3949;
    Similar output for /usr/X11/bin/resize

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://351511]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (11)
As of 2014-07-31 16:19 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (249 votes), past polls