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
Linux扩展篇-shell编程(十)-shell范式的更多相关文章
- Linux入门篇(六)——Shell(二)
这一系列的Linux入门都是本人在<鸟哥的Linux私房菜>的基础上总结的基本内容,主要是记录下自己的学习过程,也方便大家简要的了解 Linux Distribution是Ubuntu而不 ...
- 【Shell编程】Shell程序设计
1.Shell简介 作为Linux灵感来源的Unix系统最初是没有图形化界面的,所有的任务都是通过命令行来实现的.因此,Unix的命令行系统得到了很大的发展,逐步成为一个功能强大的系统. Sh ...
- Linux shell编程02 shell程序的执行 及文件权限
第一个shell脚本 1. shell编程的方式 交互式shell编程 非交互式shell编程:执行的语句存放到一个文件 shell脚本:可以任意文件名,建议扩展名为sh 2. ...
- Linux入门篇(五)——Shell(一)
这一系列的Linux入门都是本人在<鸟哥的Linux私房菜>的基础上总结的基本内容,主要是记录下自己的学习过程,也方便大家简要的了解 Linux Distribution是Ubuntu而不 ...
- shell编程01—shell基础
01.学习shell编程需要的知识储备 1.vi.vim编辑器的命令,vimrc设置 2.命令基础,100多个命令 3.基础.高端的网络服务,nfs,rsync,inotify,lanmp,sersy ...
- Linux shell编程 4 ---- shell中的循环
1 for循环 1 for语句的结构 for variable in values; do statement done 2 for循环通常是用来处理一组值,这组值可以是任意的字符串的集合 3 for ...
- Linux基础篇二:Bash shell(壳,命令解释器)介绍
shell执行方式: 第一:输入命令 (简单工作) 第二: 脚本 (适合大量工作) Bash shell 实际上的叫法是 GNU/Bash 如何查询呢: bash - version ...
- 【Shell编程】Shell基本语法
Shell 语法 Shell程序设计作为一种脚本语言,在Linux系统中有广泛的应用,本文记录了关于Shell程序设计的基础语法知识和常用命令,方便查询,熟练使用shell也需要经常实践,这对于完 ...
- shell编程===执行shell脚本的四种方法
使用vim创建一个shell文件,命名 hello.sh #!/bin/bash echo "hello shell !" 在linux中进行加载 chmod +x ./hello ...
- 【shell】shell编程(六)-shell函数的应用
linux shell 可以用户定义函数,然后在shell脚本中可以随便调用. shell中函数的定义格式如下: [ function ] funname [()] { action; [return ...
随机推荐
- mock数据模拟和使用
安装mock,和案axios npm i mockjs npm i axios 后再vue组件中使用 <script>import axios from 'axios'import Moc ...
- HarmonyOS NEXT应用开发之多层嵌套类对象监听
介绍 本示例介绍使用@Observed装饰器和@ObjectLink装饰器来实现多层嵌套类对象属性变化的监听. 效果图预览 使用说明 加载完成后显示商品列表,点击刷新按钮可以刷新商品图片和价格. 实现 ...
- 当新零售遇上 Serverless
简介: Serverless 的出现给传统企业数字化转型带了更多机遇. 某零售商超行业的龙头企业,其主要业务涵盖购物中心.大卖场.综合超市.标准超市.精品超市.便利店及无人值守智慧商店等零售业态,涉 ...
- 凭证管理揭秘:Cookie-Session 与 JWT 方案的对决
概述 在上一篇文章我们聊完了授权的过程,在服务器对客户端完成授权之后,服务器会给客户端颁发对应的凭证,客户端持有该凭证访问服务端,服务器便能知道你是谁,你有什么权限等信息.这一章我们具体聊聊常见的凭证 ...
- LlamaIndex 常见问题解答(FAQ)
提示:如果您尚未完成,请安装 LlamaIndex 并完成起步教程.遇到不熟悉的术语时,请参考高层次概念部分. 在这个章节中,我们将从您为起步示例编写的代码开始,展示您可能希望针对不同应用场景对其进行 ...
- [FAQ] Quasar 组件 q-select 如何触发 onChange 事件
Quasar 文档都提供了组件的可用参数和事件.方法. qSelect(q-select) 并没有 @change 事件,需要使用 @update 事件,注意用法. <q-select v-mo ...
- K8s包管理工具Helm v3(19)
一.Helm概述 官网:https://v3.helm.sh/zh/docs/ https://helm.sh/ helm 官方的 chart 站点: https://hub.kubeapps.com ...
- 【2023最新B站评论爬虫】用python爬取上千条哔哩哔哩评论
目录 一.爬取目标 二.展示爬取结果 三.爬虫代码 四.同步视频 五.附完整源码 您好,我是@马哥python说,一枚10年程序猿. 一.爬取目标 之前,我分享过一些B站的爬虫: [Python爬虫案 ...
- 在线自动加字幕!超快完成Pr的字幕制作!
在线自动加字幕!超快完成Pr的字幕制作! https://www.bilibili.com/video/BV1T441167eX/?spm_id_from=333.788.videocard.3 ht ...
- MySQL之横纵表转换
sql行列转换(纵表和横表间的转换) 纵表 横表 纵转横 需要的知识点: group by,姓名有重复,使用这个按姓名进行分组 case...when...then...else...end 相当于s ...