将Bash脚本Ping到主机并生成目录

将Bash脚本Ping到主机并生成目录,bash,shell,for-loop,Bash,Shell,For Loop,我正试图写一个脚本,让我能够 从文件ping主机,如果在某个主机上失败,则转到下一个主机,并可能输出失败的主机。 在成功ping的主机上创建一个目录。从运行此的主机 剧本应该是这样的 #!/bin/bash prod.txt=$(/usr/local/bin/prod.txt) for hosts in $(prod.txt); do 我在使用ping部分时遇到问题 我有制作目录 mkdir-p/var/db/kds>/dev/null 2>&1 谢谢 以下是一个您可以根据需要进行调整的示例:

我正试图写一个脚本,让我能够 从文件ping主机,如果在某个主机上失败,则转到下一个主机,并可能输出失败的主机。 在成功ping的主机上创建一个目录。从运行此的主机 剧本应该是这样的

#!/bin/bash
prod.txt=$(/usr/local/bin/prod.txt)
for hosts in $(prod.txt); do
我在使用ping部分时遇到问题 我有制作目录 mkdir-p/var/db/kds>/dev/null 2>&1


谢谢

以下是一个您可以根据需要进行调整的示例:

$ cat /tmp/hosts.txt 
10.10.0.1
10.10.0.2
10.10.0.3
10.10.0.4
10.10.0.5
10.10.0.6

$ cat /tmp/run.sh 
#!/bin/sh

for host in $(cat /tmp/hosts.txt)
do
    if ping -c 2 $host >/dev/null 2>&1; then
        mkdir -p /tmp/path/$host
    else
        echo "$host is down"
    fi
done

$ ./run.sh 
10.10.0.2 is down
10.10.0.3 is down
10.10.0.4 is down


$ ls /tmp/path/
10.10.0.1  10.10.0.5  10.10.0.6

linuxfan,如果通过ping,我将如何修改它,以便在主机上创建目录。你能详细说明一下吗?是否要在可访问的主机上创建目录?如果是这样的话,您需要在每个主机上设置无密码ssh身份验证,只需运行
'ssh user@$host'mkdir-p/some/path'
linuxfan,谢谢您我已经完成了无密码ssh身份验证,它可以正常工作