Скрипт Ping Shell с индикатором выполнения / счетчиком - PullRequest
0 голосов
/ 20 марта 2019

В настоящее время у меня есть следующий конфиг для выполнения проверки пинга (немного погуглил):

#!/bin/bash
list=$1
timeout=$2
now=$( date +"%d_%m_%Y_%T" )



for host in $( cat $list )
do
  ping -c 3  $host  > /dev/null
  if [ $? -eq 0 ]
  then
    echo "Node with IP $host is UP" >>ping_result_$now.log
    echo -n '!'
  else
   echo "Node with IP $host is DOWN" >> ping_result_$now.log
   echo -n '.'
  fi
done
echo > /dev/stderr

Пока работает скрипт, я вижу прогресс с точками и восклицательными знаками, чтобы увидеть, что вверх и вниз, но вы не можете видеть, что скрипт все еще работает. В настоящее время это покажет, как я запускаю скрипт

[Linux @ test ~] $. / Ping_sweep8.sh iplist.txt ! ..! * * 1006

То, что я хочу увидеть, - это счетчик прогресса:
[Linux @ test ~] $. / Ping_sweep8.sh iplist.txt ! ..! / <===== </p>

Теперь я нашел код для счетчика:

i=0
sp='/-\|'
n=${#sp}
printf ' '
sleep 0.1
while true; do
    printf '\b%s' "${sp:i++%n:1}"
    sleep 0.1
done

Так как я не далеко со сценариями, у меня возникли проблемы с интеграцией в мой текущий сценарий оболочки.

...