Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re^5: System() in list mode?

by onelesd (Pilgrim)
on Oct 17, 2011 at 21:58 UTC ( #932025=note: print w/ replies, xml ) Need Help??


in reply to Re^4: System() in list mode?
in thread System() in list mode?

You can use $WHAT in foo.sh like this. Notice the space.

system('env', 'WHAT=bar', '/Users/onelesd/Work/space/a space/foo.sh') ;


Comment on Re^5: System() in list mode?
Download Code
Re^6: System() in list mode?
by 1337John (Initiate) on Oct 17, 2011 at 22:04 UTC
    But I can't use PATH... Which makes no sense if there is absolutely no shell interaction. I also do notice that space, that's exactly why I'm trying to get this working. The problem I have is setting an environment variable called PATH because my script uses it. I don't really care much for a variable called WHAT. And rewriting the script is not an option.

    P.s. thanks for the help so far!

      So replace WHAT with PATH and your script will see $PATH just fine. I used WHAT because the name of the variable does not matter since you are not using a shell in LIST mode, and PATH has no more special meaning than WHAT does.

      Beyond that, the only problem I see in your posted code is that you don't give a full path to /bin/bash (and $path isn't defined, but maybe you did that elsewhere).

      Which makes no sense if there is absolutely no shell interaction

      That's not exactly correct. Remember the magic of Perl---the impossible is always possible. Here's an example. It requires: IPC::System::Simple.
      !/usr/bin/perl -l use strict; use warnings; use IPC::System::Simple qw(capturex systemx); my $PATH = $ENV{'PATH'}; my $SHELL = $ENV{'SHELL'}; my $path = '/root/Desktop/test a folder/this script.sh'; my @arr1 = ( "printenv", "PATH" ); capturex(@arr1); my @arr2 = ( "echo", "$PATH" ); systemx(@arr2); my @arr3 = ("$SHELL", "$path"); my @script = system(@arr3);

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (5)
As of 2014-07-29 04:17 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (211 votes), past polls