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

SSH only detects 1 IP adress in my file.

大家好,我的脚本需要帮助。脚本的概念是它检查每个 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.

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

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