# **********************************************************************
# Linux shell 自启动脚本写法
# 说明:
# 我们在做系统的时候,写自启动脚本是常有的事,下面是一个样板分析。
#
# 2017-1-10 深圳 南山平山村 曾剑锋
# **********************************************************************
#!/bin/sh # 脚本运行的shell
#
# sshd Starts sshd. # 描述
#
# 接下来是运行脚本之前需要满足的一些条件,主要是做一些检查性质的内容,
# 防止后续程序在运行的时候,出现一些环境问题,或者对其他的后续程序需要
# 运行的先决条件进行检查。
# Make sure the ssh-keygen progam exists
[ -f /usr/bin/ssh-keygen ] || exit 0
# Create any missing keys
/usr/bin/ssh-keygen -A
# 如果有文件需要生成,有些权限希望默认给出,这样就不用每次去给权限了。
umask 077
# 当系统开始启动的时候,运行的函数
start() {
printf "Starting sshd: "
/usr/sbin/sshd
touch /var/lock/sshd
echo "OK"
}
# 当系统开始停止的时候,运行的函数
stop() {
printf "Stopping sshd: "
killall sshd
rm -f /var/lock/sshd
echo "OK"
}
# 当系统开始重启的时候,运行的函数
restart() {
stop
start
}
# 这里可以认为是对上面三个函数进行分支调用
case "$1" in
start)
start # 调用start函数
;;
stop)
stop # 调用stop函数
;;
restart|reload)
restart # 调用restart函数
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
# 退出并返回执行结果
exit $?