SPUG: Quoting Question

Asa Martin asa.martin at gmail.com
Mon Oct 16 17:04:47 PDT 2006

The echo line should be:

$ssh->send("echo \"$line\" >> $new_file");

That's the line that isn't working right.


On 10/16/06, Asa Martin <asa.martin at gmail.com> wrote:
> Hi everyone,
> Long-time lurker, infrequent poster, but I have this really annoying
> quoting question. I'm writing a remote SSH script (but not using Net::SSH so
> any solution can't utilize any special Net::SSH stuff). I log into a remote
> system using ssh, read a file from the remote system into memory, parse
> through it line by line, and on certain lines make substitutions. Then I
> need to write the new file to the system. I am trying to send the changed
> stuff to the new file using the echo command, but it's not working very
> well.
> For example:
> for my $line (@array_of_lines)
>     if ($line =~ /com2sec\s+.*$stuff_to_match/) {
>         $line =~ s/$stuff_to_match/$new_stuff/;
>     }
>     $ssh->send('echo "$line"'); # this expands stuff I don't want it to!
> }
> $stuff_to_match and $new_stuff contain special characters, like quotes, $,
> @, etc. that I don't want expanded in the regular expression. And $line
> contains tabs, quotations, special characters, including # signs and $
> signs, etc. I'll want the white space and quotes to come across correctly,
> but any variable names that might be in $line I don't want expanded.
> Any help would be appreciated.
> Thanks,
> Asa
> P.S. The remote system is a Linux-type box (F5 Load Balancer) so I have
> the full set of Linux tools available if something better than echo would
> work. The problem is that I have only that one send() routine of some
> unknown SSH module.
> _____________________________________________________________
> Seattle Perl Users Group Mailing List
>     POST TO: spug-list at pm.org
> SUBSCRIPTION: http://mail.pm.org/mailman/listinfo/spug-list
>    MEETINGS: 3rd Tuesdays
>    WEB PAGE: http://seattleperl.org/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.pm.org/pipermail/spug-list/attachments/20061016/0fbd6cc8/attachment.html 

More information about the spug-list mailing list