>>$TMP <<! 此用法是什么?
- for X in $HOSTS ; do
- PROBLEMS=$(ssh -q $X "egrep -h \"$L4.*(failed|FAILED|SMART|[0-9][0-9][0-9] Currently unreadable|[4-9][0-9] Currently unreadable)\" /var/log/messages /var/log/messages.1 | egrep -v 'is SMART capable' " )
- if [ "$PROBLEMS" != "" ] ; then
- while read LINE ; do
- if [ "$TO" != "" ] ; then
- grep "$L4 $X $LINE" $LOG > /dev/null 2>&1 && continue
- grep "^$X" /path/conf/exclude > /dev/null 2>&1 && continue
- fi
- echo $X $LINE
- grep "$L4 $X $LINE" $LOG > /dev/null 2>&1 && continue
- echo "$L4 $X $LINE" >> $LOG
- done >>$TMP <<! #这里不理解,是将下面的那个变量的输出重定向到$TMP中吗? 那不就可以用EOF 替换掉! ?
- $( echo "$PROBLEMS" | cut -f5 -d: | sort -u)
- !
- fi
- done
复制代码不理解这个 >>$TMP <<! 是什么用法? 请指点一下,我好去查。
谢谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
本帖最后由 yinyuemi 于 2011-04-15 13:51 编辑
回复 1# shot
复制代码"$( echo "$PROBLEMS" | cut -f5 -d: | sort -u)":
这是输入
复制代码输出结果存入$TMP
<<!作为while的input,结果写入$TMP
EOF是文件结束,这个脚本中显然!不是文件结束。
>>$TMP <<!
这样写不好啊
踏踏实实的用 <<EOF
EOF
比较好
是啊,但是楼上说了,这个不是文件结束,所以不用EOF的,呵呵。
无所谓的,只是一个段内嵌引用符号而已,用什么无所谓,就算你用其他字符照样可以……
只不过通常情况下大家都习惯用EOF和EOD而已
好比这里,我习惯用EOD:http://scmbob.org/shell_nesting_tcl.html
恩,知道了。谢谢