Linux扩展篇-shell编程(十)-shell范式

shell编程提供一个范式,有利于统一程序风格,增加可读性。

范式:

ASSIGN SHELL/指定壳
DESCRIPTION/程序说明
BODY/程序体

扩展:

1、ASSIGN SHELL/指定壳,如果不指定壳,默认使用Bourne SHELL,建议使用KSH

#!SHELL路径

1.1 CSH

#!/bin/csh

1.2 BSH

#!/bin/sh

1.3 KSH

#!/bin/ksh

2、DESCRIPTION/程序说明

#PROCEDURE NAME/程序名称
#PROCEDURE FUNCTION/程序功能说明
#AUTHOR/作者
#DATE/开发时间
#INPUT/输入
#OUTPUT/输出
#CALL/调用函数说明
#HISTORY/变更历史

3、BODY/程序体

INCLUDE LIBRARY /包含库文件
VARIABLE DEFINE/变量定义
FUNCTION DEFINE/函数定义
MAIN/程序入口

3.1 INCLUDE LIBRARY /包含库文件

. LIBRARY FILE/库文件名称

3.2 FUNCTION DEFINE/函数定义

#FUNCRION: FUNCTION NAME
#DESC : FUNCTION DESC
#INPUT : INPUT DESC
#OUTPUT : OUTPUT DESC

FUNCTION() {
}

3.3 MAIN/程序入口(建议为)

程序启动说明
程序执行步骤
程序结束
exit 0

范式样例:

#!/bin/bash

#############################################
# 程序名:test.sh
# 功能简介:本程序用于测试
# 作者:cavan
# 日期:2023/3/20
# 函数说明:
#       CheckBackupDir()    检查备分目录,不完毕则创建
#       CheckIfUpgraded()   检查是否已经升级
#       BackupDb()          备分数据库的脚本、数据
# 修改说明:
#############################################

# 应用库函数,要求库函数文件与当前SHELL同一目录
. ./comm_func.sh.rc

# 定义变量
ProName="test"

# 标题
Title=""

# 目录和文件定义
WorkDir=$(pwd)
LogDir=$WorkDir/log
TempDir=$WorkDir/temp

#日志与标志文件
LogDir=$(pwd)
ErrFile=$LogDir/update.err
LogFile=$LogDir/update.log
FlagFile=$LogDir/flag.flg

########################函数定义#####################################
####################################################################
#CheckBackupDir
#目的:检查备分目录,不完毕则创建。
#输入:
#输出:屏幕
####################################################################
function CheckBackupDir() {

}

###########              Main           ##############
exit 0
##################### END OF PROCEDURE ###############

参考
http://www.51testing.com/html/92/450992-831606.html
https://blog.csdn.net/yangzai187/article/details/8671947

posted @ 2023-03-20 11:56  cavan丶keke  阅读(27)  评论(0编辑  收藏  举报