SSH in batch mode and File-Handles in a loop


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting SSH in batch mode and File-Handles in a loop
# 1  
Old 03-28-2007
SSH in batch mode and File-Handles in a loop

Hi all
I try to execute SSH commands on several hosts in a while-loop.

There seems to be a problem with file-handle, first cycle works correct but no other one will follow due to the while condition is false even that there are many more host entries (lines) in all_hosts.dat.

#!/usr/bin/ksh
exec 0<all_hosts.dat
while read line
do
echo "...executing on host :" $line
ssh $line 'ls -la /tmp' # execution aborts after the first cycle
###pwd | ssh $line 'ls -la /tmp' # continues for each entry of all_hosts.dat
done # <all_hosts.dat
#


Any clue?
Any pointer to explaining tutorials about file handles?


MTIA

Dave
# 2  
Old 03-30-2007
I too get the same error,ie the SSH session is entered once, in case of while loop.

But it doesnot seems to happen if i use for inplace of while

for host in $(</tmp/hosts); do
echo "Executing on the $host"
ssh $host 'ls -lrt /tmp'
echo $host
done

cat /tmp/hosts
user1@localhost
remote@localhost
others@localhost

Gurus,
Help us why did the code as in OP using the while doesnot work,but using the for loop is works?

Thanks
Nagarajan Ganesan
# 3  
Old 03-30-2007

The problem is that ssh is reading from stdin.

Either have the loop reading from another file descriptor or redirect the stdin of ssh from somewhere else, e.g. /dev/null

# 4  
Old 04-03-2007
MySQL

... and
Code:
ssh -n 'command ...'

as written in the man page was the solution.

tks Chris
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Windows & DOS: Issues & Discussions

Batch file loop and increment value for condition

I am trying to have the below batch file do following two things: 1. only allow the values YES,yes,Y,y, or NO,no,N,n 2. increment the counter %var1 only if answer to question 2 is "y" and not able to get the syntax correct. If %var1%=1 then I am trying to display function :end. Thank you :).... (0 Replies)
Discussion started by: cmccabe
0 Replies

2. Shell Programming and Scripting

tftp batch mode within bash script

Hi, I put the necessary tftp commands into a batch file and I can run tftp by $ tftp < tftpbatchscript in bash command line and then successfully exit. Now, I want to put a line which does the same thing above. However, when I put this line into a bash script, the lines below this line... (1 Reply)
Discussion started by: yildiz.a
1 Replies

3. Shell Programming and Scripting

FTP in batch mode

HI, Need to ftp a bunch of files in a directory in batch mode. TRying to ftp a single file first with below code. #!/bin/ksh function ftp_files { ftp -n ${D2_SRVR} <<-EOF quote user ${D2_UID} quote pass ${D2_PWD} cd ${D2_DIR}/${D2_NAME} lcd ${D1_DIR}/${D1_NAME}/dml/ put file1 ... (6 Replies)
Discussion started by: cvsanthosh
6 Replies

4. HP-UX

how to run glance over ssh in batch mode

Hello; Is it possible to run glance over ssh in batch mode ?? Similar to running " top -f " command over ssh.. Need to get glance output for specific pids Thnx very much (5 Replies)
Discussion started by: delphys
5 Replies

5. Shell Programming and Scripting

How to run VI in batch mode

Hi how do I use vi to do change some strings in a shell script loop 1. Run ls first, for each file that contains the word salesreport*.txt, do the following 2. use vi to run the following ex command : "1,$s/1975/1945/ig, wq" Please tell me how to do this in vi, not sed. Thank you. (5 Replies)
Discussion started by: grossgermany
5 Replies

6. Gentoo

top in batch mode, cpu info is wrong

well. the title says it all. im runing top in batch mode like this top -b -n1 > somefile but the cpu usage info is not correct. if i run top normally, the first second, i see the same wrong info, and then it corrects itself. i found only one small mention of it on this forum. with this link... (7 Replies)
Discussion started by: broli
7 Replies

7. Shell Programming and Scripting

running a batch file in loop

i have a batch file which should run every five min...for an hour can any one help me out (1 Reply)
Discussion started by: aemunathan
1 Replies

8. UNIX for Advanced & Expert Users

Sftp in Batch Mode

Hi, I am trying to do sftp a file from one server to another solaris server. Both are sftp enabled. I have generated the rsa key in local server and did a ftped the public key to the remote server and added that in the authorization keys file. Then i try to run the below command using a... (2 Replies)
Discussion started by: sivaemn
2 Replies

9. Shell Programming and Scripting

su command in batch mode

Hi, how do we change user in a shell script- batch mode. Thanks, Rajesh (3 Replies)
Discussion started by: Rajesh Gohad
3 Replies

10. UNIX for Dummies Questions & Answers

Help ! How to get elm to send multiple attachments - in batch mode

From a program, I want to execute a UNIX elm command that will send multiple txt attachment files to an email address. I can do it for one attachment only ie. "elm -s"subject" emailaddress < attachment.txt" 1. The attachment is received in the body of the email and not as an attachment. 2. The... (1 Reply)
Discussion started by: anarvan
1 Replies
Login or Register to Ask a Question