LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: gao_linfeng

谁能写个脚本,目的实现象cisco路由中那样的执行结果

[复制链接]
 楼主| 发表于 2004-5-26 08:22:37 | 显示全部楼层
#!/bin/ksh
ip=127.0.0.1
number=5
n=1
echo "Input IP (127.0.0.1)"
read ip
echo "Input count (5)"
read number
while ((n<=$number));do
        ping -A -c 1 $ip >/dev/null
        case $? in
        0)      echo -n "!";;
        1)      echo -n ".";;
        esac
        ((n+=1))
done
echo

我是这样弄的,但如果执行并且手工输入IP和数目可以实现,但自动不行,奇怪我默认IP为127.0.0.1默认执行次数为5次,为何直接打回车就不行呢?是不是我写的类型不对,要怎么改?
发表于 2004-6-15 13:23:38 | 显示全部楼层
自己下载ping源码修改一下好了,这个我觉得不适合用shell
 楼主| 发表于 2004-6-15 22:02:10 | 显示全部楼层
这个我经过实验是可以的,而且很方便,现整理一下发出来,源码如下:
#!/bin/bash
n="1"
ip=
count=
echo -n "Input ip [127.0.0.1] : "
read ip
echo -n "Input number [5] : "
read count
while (( n<=${count:=5} )) ; do
  ping -c 1 ${ip:=127.0.0.1} >/dev/null
  case $? in
    0) echo -n '!' ;;
    1) echo -n '.' && echo -ne "\a" ;;
    *) exit ;;
  esac
(( n+=1 ))
done
echo

实例:
[root@Gaolinfeng root]# pingg
Input ip [127.0.0.1] : www.163.com
Input number [5] : 10
!!!!!!!..!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表