[英]Can I echo local variable via ssh into remote file?
我尝试在文件末尾写入变量,但将其写入本地服务器的 STDOUT 一些代码:
$num = <STDIN>
my $cmd = "echo $dep_keys{$num} >> /root/1";
#$ssh->system({stdin_data =>$dep_keys{$num} },"echo >> /root/1");
#$ssh->error die "Couldn't establish SSH connection: ". $ssh->error;
#$ssh->system("echo $dep_keys{$num} >> /root/1");
$ssh->system($cmd);
我希望该文件将在文件末尾包含新行。
use String::ShellQuote qw( shell_quote );
defined( my $num = <STDIN> )
or die("Invalid input");
chomp($num);
defined($dep_keys{$num})
or die("Invalid input");
my $cmd = shell_quote('printf', '%s\n', $dep_keys{$num}) . ' >>/root/1';
$ssh->system($cmd);
修复:
$num
中删除尾随换行符(如果有)。echo
显,因为echo
显使 output 某些字符串成为不可能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.