У меня есть вопрос, я хочу запустить скрипт, который сканирует мою сеть, и который я вижу, когда устройства в моей сети. Я хочу вставить некоторые аргументы также в сценарии
Когда я запускаю скрипт:
./ping.sh --xx-YY 20 50
Выход:
192.168.0.20 is down
192.168.0.21 is up
..................................
192.168.0.50 is up
the argument -t , counts 200 by the last digit for ex. ./ping.sh -t 20 output: 192.168.0.220 is up
Но моя проблема в аргументе --up en -mac, который я хочу, когда я запускаю скрипт ./ping.sh --up, он отображает только компьютеры, на которых есть работоспособность И аргумент - mac также проблема, когда я запускаю скрипт Я хочу отобразить IP-адреса и адрес de mac после того, как компьютеры пингуются **
Кто-нибудь может мне помочь с этими 2 аргументами?
Это мой сценарий.
#!/bin/bash
while [[ -n "$@" ]]
do
case "$1" in
-h|--help)
Extension=1
shift
;;
-XX-YY)
Extension=2
shift
min=$1
shift
max=$1
shift
;;
--up)
Extension=3
shift
end=$1
shift
;;
-t)
Extension=4
shift
count=$(($1+200))
shift
;;
esac
done
if [ "$Extension" -eq 1 ] ; then
echo "dit is de help"
fi
if [ "$Extension" -eq 2 ] ; then
for ((n=$min ; n<=$max ; n+=1))
do
ip=192.168.0.$n
if ping -c 1 -w 1 ${ip} > /dev/null 2> /dev/null >> logping.txt; then
echo "${ip} is up"
else
echo "${ip} is down"
fi
done
fi
if [ "$Extension" -eq 3 ] ; then
ip=192.168.0.$end
if ping -c 1 -w 1 ${ip} > /dev/null 2> /dev/null >> /logping.txt; then
echo "${ip} is up"
fi
fi
if [ "$Extension" -eq 4 ] ; then
ip=192.168.0.$count
if ping -c 1 -t 1 ${ip} > /dev/null 2> /dev/null >> logping.txt; then
echo "${ip} is up"
else
echo "${ip} is down"
fi
fi