mirror of
https://github.com/xcat2/xcat-core.git
synced 2025-05-21 11:12:04 +00:00
45 lines
1.0 KiB
Perl
Executable File
45 lines
1.0 KiB
Perl
Executable File
#!/usr/bin/env perl
|
|
# IBM(c) 2012 EPL license http://www.eclipse.org/legal/epl-v10.html
|
|
|
|
BEGIN
|
|
{
|
|
$::XCATROOT = $ENV{'XCATROOT'} ? $ENV{'XCATROOT'} : '/opt/xcat';
|
|
}
|
|
|
|
use lib "$::XCATROOT/lib/perl";
|
|
use Getopt::Long;
|
|
use xCAT::RShellAPI;
|
|
|
|
Getopt::Long::Configure("require_order");
|
|
Getopt::Long::Configure("no_pass_through");
|
|
|
|
my $username;
|
|
my $passwd;
|
|
my $telnet;
|
|
my $help;
|
|
my $verbose;
|
|
|
|
if (!GetOptions(
|
|
'l|loginname=s' => \$username,
|
|
'p|password=s' => \$passwd,
|
|
't|telnet' => \$telnet, #use telnet, otherwise ssh
|
|
'h|help' => \$help,
|
|
'v|verbose' => \$verbose,
|
|
) || $help || scalar(@ARGV) < 2) {
|
|
print "Usage: rshell_api [-v] [-t] [-l <user>] [-p <passwrd>] <node> <command>\n";
|
|
exit;
|
|
}
|
|
|
|
my $node = $ARGV[0];
|
|
|
|
my $output = xCAT::RShellAPI::run_remote_shell_api($node, $username, $passwd, $telnet, $verbose, @ARGV[ 1 .. $#ARGV ]);
|
|
my $rc = 0;
|
|
my $data;
|
|
if ($output && (@$output > 1)) {
|
|
$rc = $output->[0];
|
|
$data = $output->[1];
|
|
}
|
|
|
|
print "$data";
|
|
exit $rc;
|