Analysis of the problem of calling ssh File Redirection in while read line Code
This article will explain in detail the analysis of the problem of calling ssh file redirection in the while read line code. The content of the article is of high quality, so Xiaobian shares it with you for reference. I hope you have a certain understanding of relevant knowledge after reading this article.
Some hosts need to do batch ssh to do remote detection.
The code is simple.
while read line
do
xxxxxx Data Cleaning.
ssh $line $COMMAND
done
There is nothing wrong with the code itself. is simple.
But something went wrong with the execution.
SSH can only execute the first IP address and then exit. Exit status is also normal. It means there's no error.
What is the problem?
After a search on Google .
The original is the original while read line will read all the contents into the cache.
Then Ness takes data from stdin.
finally, after the first ip of ssh, the rest of the contents of the read line were read by the way.
Read line The second time you read it, there's nothing left to read, and at the end of the file EOF, you exit. This also verifies that our code exits normally without errors.
What to do, redirect ssh to prevent reading from stdin.
The ssh argument-n or-f or-n-f can be redirected. or SSH.