【问题标题】:Bash | ssh return value [duplicate]重击 | ssh返回值[重复]
【发布时间】:2021-12-05 21:14:02
【问题描述】:

我正在编写一个 bash 脚本,该脚本会遍历 hosts.list 中定义的多个主机,并在它们在线时返回。 我想做同样的事情,但使用 ssh。如果连接和登录成功,如何从 ssh 返回一个值,如布尔值。

#!/bin/bash

File="hosts.list"
Hosts=$(cat $File)
declare -i deadhosts
$deadhosts = 0
declare -i counter
$counter = 0
for Host in $Hosts
do
        if ! ping -c 1 -s 1 -W 1 "$Host" 1>/dev/null 2>&1; then
                deadhosts=$((deadhosts+1))
        else
                echo $Host
        fi
        counter=$((counter+1))
done

echo "Mission success"
echo "Scanned Hosts: $counter Dead Hosts: $deadhosts"

【问题讨论】:

  • $deadhosts = 0 $counter = 0 将导致=: command not found。这不是在 bash 中分配变量的方式。
  • stackoverflow.com/questions/1405324/… 回答你的问题了吗?
  • 您是否考虑过使用nmap 之类的工具来代替自己编写脚本?

标签: linux bash shell unix


【解决方案1】:

有一个问题被问到同样的事情:

How to create a bash script to check the SSH connection?

您还可以在那里找到信息:

https://www.golinuxcloud.com/test-ssh-connection/

【讨论】:

  • 这应该发布为 cmets 并关闭投票
猜你喜欢
  • 2015-07-25
  • 2018-03-01
  • 2023-03-06
  • 1970-01-01
  • 1970-01-01
  • 2018-06-25
  • 1970-01-01
  • 2015-02-13
  • 1970-01-01
相关资源
最近更新 更多