Bash脚本Ping主机并创建目录

时间:2014-09-25 00:16:20

标签: bash shell for-loop

我正在尝试编写一个允许我的脚本 ping一个文件中的主机,如果它在主机上失败,则移动到下一个主机并输出失败的主机。 在成功ping通的主机上创建一个目录。从运行此主机的主机 脚本。它应该是这样的

#!/bin/bash
prod.txt=$(/usr/local/bin/prod.txt)
for hosts in $(prod.txt); do

我遇到问题让ping部分工作 我有make目录     mkdir -p / var / db / kds> / dev / null 2>& 1

谢谢!

1 个答案:

答案 0 :(得分: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