Send "perl -e '...' " command through SSH, from a perl script
Hey guys
I am trying to send a perl -e command to a number of systems using SSH. The command should retrieve some information for me. The problem is, the remote shell tries to interpolate my variables and doesn't get it should take the command literally and just execute it.
Below the code. You don't need to read all of it. The only problem I have is to send the command LITERALLY to the remote shell so it will be executed correctly, without anything in between behaving smart and interpolating variables or even executing parts of the code.
In case you're wondering about the contents of the "command" file.. Here you go:
Any help is greatly appreciated!
EDIT: I managed to solve part of the problem by removing the double quotes inside the command and replacing them with qq|<...>| .
The error message now is:
I assume I got around part of the quoting problem, although I don't understand why bash fails at F, and not at open().
Still in desperate need of help!
Thank you.
Last edited by clrg; 07-14-2010 at 09:06 AM..
Reason: Additional information
I thought about that. Unfortunately, a SCP for every host would double the time the script needs to run. I have 2600 machines to check, which takes my script approx. 40 minutes (just with one SSH command). If it's an scp and an ssh, it will take 2 hours.
I would like the script to be as fast as possible. If I don't find a solution, I'll implement your suggestion.
Hi All,
i am trying to ssh to a remote machine and execute certain command to remote machine through script.
i am able to ssh but after its getting hung at the promt and after pressing ctrl +d i am gettin the out put as
expect: spawn id exp5 not open
while executing
"expect "$" {... (3 Replies)
For the newbies, I should have posted this years ago....
Here is the standard (tiny) "bread and butter" perl script (on Linux) I use in my crontab files to insure key processes are alive ( just in case ! ) like httpd, named, sshd, etc.
The example below if for named......
... (1 Reply)
Hi all,
Can anyone guess why this is happening? I am new to Perl, so please help me to fix this error:
- I have a static html file which calls the cgi-perl script.
HTML Code:
<html>
<head>
<title> Hey Dude! </title>
</head>
<body>
<form method="POST"... (3 Replies)
I'm trying to execute something like this:
exec perl -i -pe 's/\015/\012/g' '${file}'
in my expect script and I get:
error "invalid command name \"perl\".
however, if I run
perl -i -pe 's/\015/\012/g' "/Users/Shared/menu-items.txt"
directly in my terminal, it runs fine. I'm an... (4 Replies)
Seems like it's written out pretty well for a beginner to learn, any thoughts or recommendations for other books? I'd post the link but I can't do that yet.
The book is called "Beginning Perl" by Simon Cozens (2 Replies)
Hello!!!
I'm trying to pass the output from bash command to perl variable in a perl script, and I used the "system" command to execute the bash statment and pass the result to perl string variable, in this perl script I used a variable $file that store data for using it as a regular expression.... (2 Replies)
Hi everybody;
I try to code a script perl to list all services that are active "ON" with a chkconfig -- list
the problem is that code list all services which are active or not.
#!/usr/bin/perl
use strict;
use warnings;
open(FILE,"-|") || exec "chkconfig --list |grep ON";... (2 Replies)
Hi,
I have line in input file as below:
3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL
My expected output for line in the file must be :
"1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL"
Can someone... (7 Replies)
in "cmd" command i want to copy the ouput of the command excuted to a particular file in a directory.
How to do this..??
Ex : $telnet->cmd(String => 'allip:acl=a1;',Prompt => '/</');
i want to copy o/p of the command "allip:acl=a1;" in a log file in a particular directory.
Plz suggest.. (1 Reply)
Hi,
Can anybody help me in writing command "waitfor" for string
"C:\WINNT\Profiles\mfcf0508>" while using net::Telnet module.
I tried the below format :
$telnet->waitfor('/"C\:\WINNT\Profiles\mfcf0508>".*$/i');
Getting error as : pattern match timed-out
Plz help me (3 Replies)