请问Linux大神如下$1 &> /dev/null整个怎么解释?看不懂啊

请问Linux大神如下$1&>/dev/null整个怎么解释?看不懂啊[root@linuxprobe~]#vimchkhost.sh#!/bin/bashping-c3... 请问Linux大神如下$1 &> /dev/null整个怎么解释?看不懂啊[root@linuxprobe ~]# vim chkhost.sh
#!/bin/bash
ping -c 3 -i 0.2 -W 3 $1 &> /dev/null
if [ $? -eq 0 ]
then
echo "Host $1 is On-line."
else
echo "Host $1 is Off-line."
fi
展开
 我来答
子公三龙
2019-07-04 · TA获得超过5422个赞
知道大有可为答主
回答量:1863
采纳率:33%
帮助的人:1395万
展开全部
$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
这样说不知你明白了否?
bigiron2005
2017-08-07 · TA获得超过2658个赞
知道大有可为答主
回答量:6597
采纳率:77%
帮助的人:752万
展开全部
/dev/null 代表空, 类似于一个黑洞,把输出的内容丢进去,就没有了。
命令后面 & , 代表程序在后台运行
> 是输出的定向符号。
一起使用,就是 ping -c 3 -i 0.2 -W 3 $1 , 命令在后台运行,不输出运行过程。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
自洪云3014
2017-08-07 · 超过13用户采纳过TA的回答
知道答主
回答量:31
采纳率:0%
帮助的人:11.9万
展开全部
a=3
假如不加两个括号,系统以为是字符串的形式,结果为
“3+1”,这个是字符串
加了两个括号,让系统知道了里面的值要进行运算,结果为
“4”
至于为什么加一个括号不行,是因为运算的格式就是要加两个括号
因为一个括号的格式代表其他的作用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式