首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尽管使用ssh -n,但ssh在查看时中断

尽管使用ssh -n,但ssh在查看时中断
EN

Stack Overflow用户
提问于 2019-06-07 20:30:53
回答 1查看 60关注 0票数 0

尽管使用ssh -n,但ssh在查看时中断

我需要ssh到几个服务器中,并在那里运行一些命令。不幸的是,while循环中的ssh中断了循环

这里有一个hosts.txt:

代码语言:javascript
复制
10.168.2.27
10.168.3.95

脚本是这样的:

代码语言:javascript
复制
#!/bin/bash

filename="$1"
while read f1
do
     echo "Logging into $f1"   
     ssh root@$f1 'hostname; uptime' < /dev/null

done <"$filename"

我也尝试过ssh -n,但是结果总是一样的循环在hosts.txt的第一行之后被中断。

我的脚本出了什么问题?

EN

回答 1

Stack Overflow用户

发布于 2019-06-07 21:39:10

如果read没有找到换行符,那么它将处于非零退出状态,因此,尽管它将读取文件中剩余的内容,但不会进入循环体。有两种解决方案:

确保从符合POSIX的文本文件中读取条件,这意味着每一行都以\n.

  • Change
  1. 终止

while read f1 || -n "$f1“;执行

只要read能够读取某些内容,它就将具有非零退出状态。

第一个选项更可取。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56494395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档