S24.shell脚本每日一练

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

猜你喜欢

转载自blog.csdn.net/qq_25599925/article/details/126772720