加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

在bash中,while循环后的左尖括号是什么意思?

发布时间:2020-12-15 21:55:16 所属栏目:安全 来源:网络整理
导读:以下内容来自RHEL上的/etc/init.d/functions.我试图找出当我遇到这个while循环时__pids_var_run()函数的作用. while : ; do read line [ -z "$line" ] break for p in $line ; do if [ -z "${p//[0-9]/}" -a -d "/proc/$p" ] ; then if [ -n "$binary" ] ; t
以下内容来自RHEL上的/etc/init.d/functions.我试图找出当我遇到这个while循环时__pids_var_run()函数的作用.

while : ; do
                    read line
                    [ -z "$line" ] && break
                    for p in $line ; do
                            if [ -z "${p//[0-9]/}" -a -d "/proc/$p" ] ; then
                                    if [ -n "$binary" ] ; then
                                            local b=$(readlink /proc/$p/exe | sed -e 's/s*(deleted)$//')
                                            [ "$b" != "$binary" ] && continue
                                    fi
                                    pid="$pid $p"
                            fi
                    done
            done < "$pid_file"

有人可以解释一下:做……完成< “$pid_file”有吗?更具体地说,完成后的最后一部分,其余部分或多或少是有道理的.

解决方法

这意味着循环中从stdin读取内容的任何命令都将从给定文件(例如,而不是键盘)中读取.

特别是在这种情况下,循环使用读取行从stdin读取单行,因此当您从$pidfile重定向时,它会有效地逐行读取文件.

为了进一步了解重定向,这里是一个Illustrated redirection tutorial,由this Bash Guide到Lhunath和GreyCat推荐.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读