我想在远程服务器上运行一个 perl 脚本,它应该通过 ssh 登录到 linux 服务器并运行一个带有参数的 shell 脚本,然后打印结果,请帮助......
我有一个小脚本可以登录并在远程主机上执行 ls 命令,但我想改为运行 bash 脚本。
use Net::SSH::Perl;
my $host = "xxxxx";
my $usr = "xxx";
my $pwd = "xxx";
my $ssh = Net::SSH::Perl->new($host);
$ssh->login($usr,$pwd);
my($stdout, $stderr, $exit) = $ssh->cmd("ls -l");
print "$stdout\n";
如何执行远程 shell 脚本而不是“ls -l”?
最佳答案
你的脚本没问题。只需更换
"ls -l"
与
"/path/to/my/script arg1 arg2"
注意 1 - 在远程使用脚本的完全限定路径是个好主意。
注意 2 - arg1
和/或 arg2
当然可以是变量。 $arg1 $arg2
。如果您不使用变量,则不需要双引号,您应该改用单引号 '。
关于linux - 如何使用 perl 脚本和 ssh 在远程 linux 服务器中运行 bash 或 shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57199975/