47.编写函数,实现两个数字做为参数,返回最大值
[root@centos8 ~]# vim return_max.sh
#!/bin/bash
#
#**********************************************************************************************
#Author: Raymond
#QQ: 88563128
#Date: 2021-10-21
#FileName: return_max.sh
#URL: raymond.blog.csdn.net
#Description: The test script
#Copyright (C): 2021 All rights reserved
#**********************************************************************************************
return_max(){
until [ $# -eq 0 ];do
if [ $1 -lt $2 ] ;then
echo "$2"
break
else
echo "$1"
break
fi
done
}
return_max $1 $2
[root@centos8 ~]# bash return_max.sh
[root@centos8 ~]# bash return_max.sh 10 6
10
[root@centos8 ~]# bash return_max.sh 100 94
100
48.编写服务脚本/root/bin/testsrv.sh,完成如下要求
(1)脚本可接受参数:start,stop,restart,status
(2)如果参数非此四者之一,提示使用格式后报错退出
(3)如果start:则创建/var/lock/subsys/SCRIPT_NAME,并显示“启动成功”
考虑:如果事先已经启动过一次,该如何处理?
(4)如果stop:则删除/var/lock/subsys/SCRIPT_NAME,并显示“停止完成”
考虑:如果事先已经停止过了,该如何处理?
(5)如果restart,则先stop,再start
考虑:如果本来没有start,该如何处理?
(6)如果status,则如果/var/lock/subsys/SCRIPT_NAME文件存在,则显示“SCRIPT_NAME is running…”,如果/var/lock/subsys/SCRIPT_NAME文件不存在,则显示“SCRIPT_NAME is stopped…”
(7)在所有模式下禁止启动该服务,可用chkconfig和service命令管理
说明:SCRIPT_NAME为当前脚本名
[root@centos8 ~]# cat /root/bin/testsrv.sh
#!/bin/bash
#chkconfig: - 96 3
#description: the service script
. /etc/init.d/functions
start(){
touch /var/lock/subsys/testsrv
action "Starting testsrv"
sleep 3
}
stop(){
rm -f /var/lock/subsys/testsrv
action "Shutting down testsrv"
}
restart(){
stop
start
}
status(){
if [ -e /var/lock/subsys/testsrv ];then
echo "testsrv is runing..."
else
echo "testsrv is stopped"
fi
}
case $1 in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
status)
status
;;
*)
echo "Usage: /etc/init.d/testsrv {start|stop|restart|status}"
;;
esac