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
In reply to Assign value of SHELL COMMAND to a variable in PERL by rahulruns
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |