# Start all init scripts in /etc/init.d
# executing them in numerical order.
#
for i in /etc/init.d/S??* ;do
# 对所有/etc/init.d/S开头的文件进行遍历
# Ignore dangling symlinks (if any).
[ ! -f "$i" ] && continue
# -f 文件名 命令用于返回文件是否存在,!表示否定,&&符号前项为真则执行后项
# 如果不存在文件则继续
case "$i" in
*.sh)
# Source shell script for speed.
(
trap - INT QUIT TSTP
# 捕捉信号
set start
# 设置开始
. $i
“.”点命令是shell的一个内部命令,它从指定的shell 文件中读入所有命令语句并在当前进程 中执行。 因此当多个shell进程(父子进程或无关进程均可)共享一组变量值时,就可以将这些变量赋值语句定义到一个shell文件里,并在需要这些变量值的程序中使用点语句来引用这个shell文件,从而实现变量值共享(对这些变量值的修改仅涉及到这个shell文件)。但要注意的是,这个shell文件不能包括含有位置参数的语句,即不能接受$1、$2等命令行参数。
)
;;
# case 分隔符
*)
# No sh extension, so fork subprocess.
$i start
;;
esac
done