mirror of
				https://github.com/xcat2/xcat-core.git
				synced 2025-11-04 05:12:30 +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;
 |