The same command does not work on the first iteration, but passes the second iteration. Sometimes it passes in both iterations. $ssh is a Net::SSH::Expect object. Any idea on this weird behavior?
$ssh = Net::SSH::Expect->new( host => "$host", password => "$pass", user => "$id", raw_pty => 1, timeout => 50 );
Code snippet:
&Test("Create exports on Sonas------ No Kerberos"); $no_of_exports=2; my $fs = "/ibm/gpfs0/"; while($no_of_exports) { my $share_name = &get_share_name(); my $path="$fs" . "$share_name"; $cmd="ssh mgmt001st001 mkexport $share_name $path --nfs 'client002\\\\(rw,no_root_squash\\)'"; print "CMD: $cmd"; $out=$ssh->exec("$cmd"); print $out; --$no_of_exports; }
Conclusion:
Test 02 : Create exports on *Sonas*------ No Kerberos CMD: ssh mgmt001st001 mkexport kas41535108 /ibm/gpfs0/kas41535108 --nfs 'client002\\ (rw,no_root_squash\)' --nfs 'client002\\(xport kas41535108 /ibm/gpfs0/kas41535108 > rw,no_root_squash\)' bash: -c: line 0: syntax error near unexpected token `(' bash: -c: line 0: `mkexport kas41535108 /ibm/gpfs0/kas41535108 --nfs client002\\(' [ root@ganesha36 ~]
source share