带有进度条/微调器的Ping Shell脚本

时间:2019-03-20 13:01:35

标签: bash spinner

当前,我具有以下配置来执行ping扫描(有点Googled):

#!/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 !..!

我想看到的是进度背后的微调器:
[Linux @ test〜] $。/ ping_sweep8.sh iplist.txt !..! / <=====

现在我找到了微调器的代码:

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

由于我对脚本的了解不多,因此我无法将其集成到当前的shell脚本中。

0 个答案:

没有答案