我是 Linux 和 bash 脚本新手。我尝试编写以下脚本来 ping 子网中的所有主机,以查看哪些主机正在响应。我在这里使用了“For 循环”。当我尝试运行时,它给出了语法错误。如果我能在这里获得修改脚本的帮助,我将不胜感激。谢谢。
#!/bin/bash 对于
seq 1 254
中的 ip:执行
ping -c 1 $1.$ip | ping -c 1 $1.$ip | grep "64 字节" |切-d“”-f 4 | tr -d ":" &
完成
./ipsweep.sh 192.168.40
当我尝试运行上面的脚本时,它给出了以下错误:
$ ./ipsweep.sh 192.168.40 ./ipsweep.sh:第 3 行:意外标记附近出现语法错误
ping' ./ipsweep.sh: line 3:
ping -c1 $1.$ip | grep "64 字节" |切-d“”-f 4 | tr -d ":" &'
试试这个
#!/bin/bash
for ip in $(seq 1 254); do
ping -c 1 $1.$ip | grep "64 bytes" | cut -d " " -f 4 | tr -d ":" &
done
wait
如果不起作用,请提供有关您的系统的信息