【发布时间】:2016-03-07 19:23:40
【问题描述】:
以下内容来自 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"
有人能解释一下while : ; do ; ... done < "$pid_file" 的作用吗?更具体地说,done 之后的最后一部分,因为它的其余部分或多或少是有意义的。
【问题讨论】:
-
跟任何命令后的意思是一样的。