[英]bash while loop read only one line
我对此代码有疑问。
while IFS='' read -r line
do
echo "host: "$line
IP_addr=$(echo $line |cut -d" " -f1)
host=$(echo $line | cut -d" " -f2)
FILE_CHECK=$(ssh -o ConnectTimeout=10 $USER@$IP_addr "find $SRC_FILE -mtime 0")
echo $FILE_CHECK
((host_num+=1))
echo "" #empty line
done < "$SERVER_LIST"
echo $host_num
其中变量服务器列表包含服务器文件的路径
192.168.1.1 app1
192.168.1.2 app2
192.168.1.3 app3
脚本读取第一行,成功连接到主机,然后退出。 当我尝试循环遍历文件时,仅回显行循环读取所有行。
ssh
从stdin读取,因此它将占用文件的其余部分。 使用-n
选项运行ssh
将其输入重定向到/ dev / null。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.