rahulruns has asked for the wisdom of the Perl Monks concerning the following question:
I have tried assigning value of SHELL command to PERL variable by using back ticks as well as qx{} but still I am not able to assign the output of the SHELL COMMAND to a PERL variable. I tried working with system and exec though knowing that they assign exit status. Nothing is working hence anyone who could help. You will see ssh in code and it is passwordless so not a problem. The SHELL COMMAND is working properly on command prompt The SHELL COMMAND basically tries to get the status of service on other node where the service would be running or stopped
my $status = qx{ssh r01mn1 /etc/init.d/hadoop-0.20-mapreduce-jobtracke +r status | awk '{print $3}'}; print "$status is status of service"; if ( "$status" eq "stopped" ) { print " JOBTRACKER SERVICE is not running"; } output [root@r01mgt ~]# perl testscript.pl jobtracker is stopped is status of service SHELL COMMAND [root@r01mgt ~]# ssh r01mn1 /etc/init.d/hadoop-0.20-mapreduce-jobtrack +er status | awk '{print $3}' stopped
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Assign value of SHELL COMMAND to a variable in PERL
by ambrus (Abbot) on Jul 12, 2012 at 07:08 UTC | |
by rahulruns (Scribe) on Jul 12, 2012 at 07:56 UTC | |
|
Re: Assign value of SHELL COMMAND to a variable in PERL
by frozenwithjoy (Priest) on Jul 12, 2012 at 06:42 UTC | |
by ambrus (Abbot) on Jul 12, 2012 at 07:36 UTC | |
by rahulruns (Scribe) on Jul 12, 2012 at 06:56 UTC | |
by frozenwithjoy (Priest) on Jul 12, 2012 at 07:09 UTC | |
by jessarah (Initiate) on Jul 12, 2012 at 11:03 UTC |