>>$TMP <<! 此用法是什么?

发布于 2022-10-15 09:30:17 字数 1708 浏览 31 评论 0

  1. for X in $HOSTS ; do
  2.     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' " )
  3.     if [ "$PROBLEMS" != "" ] ; then
  4.     while read LINE ; do
  5.          if [ "$TO" != "" ] ; then
  6.              grep "$L4 $X $LINE" $LOG > /dev/null 2>&1 && continue
  7.              grep "^$X" /path/conf/exclude > /dev/null 2>&1 && continue
  8.          fi
  9.          echo $X $LINE
  10.          grep "$L4 $X $LINE" $LOG > /dev/null 2>&1  && continue
  11.          echo "$L4 $X $LINE" >> $LOG
  12.     done >>$TMP <<!                                            #这里不理解,是将下面的那个变量的输出重定向到$TMP中吗?  那不就可以用EOF 替换掉!   ?
  13. $( echo "$PROBLEMS"  | cut -f5 -d: | sort -u)
  14. !
  15.     fi
  16. done

复制代码不理解这个 >>$TMP <<!  是什么用法? 请指点一下,我好去查。
谢谢!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

漫雪独思 2022-10-22 09:30:17

本帖最后由 yinyuemi 于 2011-04-15 13:51 编辑

回复 1# shot

  1.          <<!                                       
  2. $( echo "$PROBLEMS"  | cut -f5 -d: | sort -u)
  3. !

复制代码"$( echo "$PROBLEMS"  | cut -f5 -d: | sort -u)":
这是输入

  1. >>$TMP

复制代码输出结果存入$TMP

软甜啾 2022-10-22 09:30:17

<<!作为while的input,结果写入$TMP
EOF是文件结束,这个脚本中显然!不是文件结束。

无法言说的痛 2022-10-22 09:30:17

>>$TMP <<!
这样写不好啊
踏踏实实的用 <<EOF
EOF
比较好

星軌x 2022-10-22 09:30:17

是啊,但是楼上说了,这个不是文件结束,所以不用EOF的,呵呵。

九歌凝 2022-10-22 09:30:17

是啊,但是楼上说了,这个不是文件结束,所以不用EOF的,呵呵。
shot 发表于 2011-04-15 15:27

    无所谓的,只是一个段内嵌引用符号而已,用什么无所谓,就算你用其他字符照样可以……
    只不过通常情况下大家都习惯用EOF和EOD而已

    好比这里,我习惯用EOD:http://scmbob.org/shell_nesting_tcl.html

不再见 2022-10-22 09:30:17

恩,知道了。谢谢

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文