Arijit Das wrote:
> Hi,
>
> The format of env variable PATH seems to change with
> OS/shell. For example,
> in sh it is like
>
> "/dir1/bin:/dir2/bin:."
>
> while in csh, it is like
>
> (/dir1/bin /dir2/bin .)
>
> I need to search for "/dir2/bin" path
component in my
> $ENV, and then, insert "/newpath/bin"
just
> before "/dir2/bin". But due to different
format of
> PATHs in different os/shells, I am not able to do that
> in a very clean way.
>
> Is there any Perl Array (somewhat like INC)
which I
> can modify to have my PATH changed?
You're only modifying it for any child processes you
create,
so you could force the children to be spawned by one sh or
the other (tcsh/bash) or you could find the user's shell in
the /etc/passwd entry and use that one.
if ($shell =~ /^(?:ba)?sh$/) {
} elsif ...
You could check the existing PATH vrbl and see if it's
sh/bash or
csh/tcsh style path (' ' vs ':') and go accordingly.
_______________________________________________
Perl-Unix-Users mailing list
Perl-Unix-Users listserv.ActiveState.com
To unsubscribe: http:/
/listserv.ActiveState.com/mailman/mysubs
|