SSH仅在我的文件中检测到1个IP地址。

时间:2017-07-10 01:04:01

标签: bash shell centos7

大家好我的脚本需要帮助。脚本的概念是它检查每个docker服务器它正在运行容器。 Docker服务器保存在一个名为“' ip'这是我的示例脚本。

# !/bin/bash

function test2 {
  echo "Checking if qwer is running on $IP"


  isRunning=`ssh -tt root@$IP "docker inspect -f {{.State.Running}} qwer"`

  if [[ $isRunning ]]; then
     echo "Running on this server"

    else
     echo "[ INFO] Container is not running."
     echo $IP

  fi
}

function test1 {

  while read -r IP ; do

test2

   done < ip
}
test1

文件IP包含以下内容

192.168.21.61

192.168.21.64。

问题是只检查第一个IP然后已经停止。

示例输出:

Checking if it is running on 192.168.21.61
Connection to 192.168.21.61 closed.

1 个答案:

答案 0 :(得分:0)

我认为这将被视为已结束, 我实际上将我的while语句替换为for循环。

for checkServer in $(cat $registeredServersFile); do  echo "Checking if qwer is running on $checkServer "; samfunc ; done