I have the following shell script. The purpose is to loop thru each line of the target file (whose path is the input parameter to the script) and do work against each line.
The problem is that do_work.sh
runs ssh
commands and by default ssh
reads from stdin which is your input file. As a result, you only see the first line processed, because ssh
consumes the rest of the file and your while loop terminates.
To prevent this, pass the -n
option to your ssh
command to make it read from /dev/null
instead of stdin.