任何人都可以告诉我这个脚本究竟是做什么的?
#! /bin/sh
test –f /usr/bin/sshd || exit 0
case “$1” in
start)
echo –n “Starting sshd: sshd”
/usr/sbin/sshd
echo “.”
;;
stop)
echo –n “Stopping sshd: sshd”
kill `cat /var/run/sshd.pid`
echo “.”
;;
restart)
echo –n “Stopping sshd: sshd”
kill `cat /var/run/sshd.pid`
echo “.”
echo –n “Starting sshd: sshd”
/usr/sbin/sshd
echo “.”
;;
*)
echo “Usage: /etc/init.d/sshd start|stop|restart”
exit 1
;;
esac
Run Code Online (Sandbox Code Playgroud)
我想知道这部分到底是什么:
#! /bin/sh
test –f /usr/bin/sshd || exit 0
case “$1” in
start)
echo –n “Starting sshd: sshd”
/usr/sbin/sshd
echo “.”
;;
Run Code Online (Sandbox Code Playgroud)
是因为其他部分是一样的!请 ;)
哪个部分是一样的?脚本的工作方式是检查值$1,该值是命令行提供的脚本的第一个参数.如果它是'start',则start)执行后面的部分.如果它'停止',则stop)执行后面的部分.如果是"重启",则restart)执行后续部分.
第一部分逐行:
#! /bin/sh
Run Code Online (Sandbox Code Playgroud)
嘿,这是一个shell脚本!具体来说,使用shshell 执行此脚本.
test –f /usr/bin/sshd || exit 0
Run Code Online (Sandbox Code Playgroud)
有文件叫/usr/bin/sshd吗?如果没有,退出0返回状态.
case “$1” in
Run Code Online (Sandbox Code Playgroud)
检查$1第一个命令行选项的值.
start)
Run Code Online (Sandbox Code Playgroud)
如果$1是'开始'......
echo –n “Starting sshd: sshd”
Run Code Online (Sandbox Code Playgroud)
打印" Starting sshd: sshd".
/usr/sbin/sshd
Run Code Online (Sandbox Code Playgroud)
执行/usr/sbin/sshd.
echo “.”
Run Code Online (Sandbox Code Playgroud)
打印" .".
;;
Run Code Online (Sandbox Code Playgroud)
退出case声明.
| 归档时间: |
|
| 查看次数: |
30506 次 |
| 最近记录: |