for(i=0i<numi++) scanf("%c", &array[i])
前面加上一句
fflush(stdin)
因为你第一次输入5时也输入了回车,回车前面没有用到就被放在缓存区中,等你第二次输入时回车作为第一个数被输入了,所以你要正确输入,之前要先清空缓存区中的东西,也就是用fflush(stdin)
$1 代表的是你要执行的脚本运行的第一个参数例如,你这个脚本是chkhost.sh,那么你执行时应该是这样的:
bash chkhost.sh 192.168.1.1
这个192.168.1.1就是代表的$1
&>/dev/null的意思就是把你运行ping命令的过程转向到/dev/null中,在linux中,/dev/null就是无底洞的意思,意思就是说,你ping命令执行的过程(一般会显示反回结果)你不想看到,所以就丢这里了。
ping -c 3 -i 0.2 -W 3 $1 &>/dev/null
这条语句你可以看成这样:
ping -c 3 -i 0.2 -w 3 192.168.1.1 &>/dev/null
如果你再去掉 &>/dev/null 你就明白了。
因为你这个脚本的最终目的只是屏显结果$1代表的这个主机ping后在不在线,也就是是不是Host 192.168.1.1 is on-line 或者 Host 192.168.1.1 is Off-line
这样说不知你明白了否?
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)