Shell脚本规范|学习笔记

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 快速学习Shell脚本规范

开发者学堂课程【Shell 脚本进阶:Shell脚本规范】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/799


Shell脚本规范

目录

脚本的命令与权限

脚本的基本结构

变量和函数的命令与引用

脚本中的路径

日志输出规范

一、脚本的命令与权限

1、脚本后缀:xxx.sh

2、脚本名称:start-app.sh、stop-app.sh(可读性)、chk-xxx.sh

3、执行权限:一定要加可执行权限

二、脚本的基本结构

1、#! Shebang

#!/bin/bash

#!/usr/bin/env bash

2、注释清晰可读

(1)对脚本的功能进行说明

(2)脚本的参数或帮助函数

(3)脚本的作者和更新记录

(4)函数或复杂命令的说明

3、功能函数与主函数

your_ _function() {}

main() {}

示例:

image.pngimage.jpeg

三、变量和函数的命令与引用

1、变量和函数的命名

(1)驼峰或下划线命名法

(2)避免使用bash关键字

2、常量的命名

(1)大写字母可用下划线分隔

(2)统一在非注释行开头声明

3、变量的使用

(1)通过${ 变量名}引用

4、函数的使用

(1)所有函数放在常量定义之后

(2)函数之间不要夹杂其他代码

(3)main函数放在脚本最后调用

四、脚本中的路径

1、相对路径和绝对路径

2、建议使用绝对路径

相对路径依赖脚本执行时的目录

能够规避一些可能出现的异常问题

3、如何获取脚本所在目录

$(cd $(dirname $0) && pwd)

$(dirname $( readlink -f $0 ) )

五、日志的输出规范

1、需要记录执行过程

2、单独封装函数

log () {}

3、日志格式

(1)可参考log4j

(2)包含日期时间

(3)包含日志级别

(4)包含日志信息

4、输出

(1)重定向到文件

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
6月前
|
Shell 测试技术 Perl
shell 脚本基础练习
创建`sysinfo.sh`脚本,显示主机名、IPv4、OS版本、内核、CPU、内存和硬盘信息;`backup.sh`用于每日备份`/etc/`至 `/backup`目录,日期格式为`YYYY-mm-dd`;`disk.sh`找出硬盘最高利用率;`links.sh`显示并按连接数排序远程主机IPv4地址;`repo.sh`搭建本地YUM仓库并安装软件。使用命令包括`echo`、`hostname`、`ifconfig`、`cat`、`awk`、`tar`、`df`、`uniq`等,实现系统管理和维护功能。
43 1
|
6月前
|
Unix Shell Linux
SHELL脚本基础
SHELL脚本是一种用来自动化执行操作系统命令和任务的脚本语言。它们被广泛用于Linux和其他类Unix操作系统中,可以编写一系列命令和逻辑来完成特定的任务。
96 0
|
机器学习/深度学习 Java Shell
shell脚本简介+编写
shell脚本简介+编写
96 0
|
6月前
|
Unix Shell Linux
shell脚本基础
Shell脚本基础涉及脚本定义、编写与执行、变量、控制结构、函数、命令替换和重定向。它是Linux/Unix系统中自动化任务的工具,允许用户通过组合命令、使用变量、条件语句、循环和函数来创建文本文件。了解这些基础知识能帮助你更高效地管理系统。例如,一个简单的"Hello, World!"脚本是`#!/bin/bash`,接着是`echo "Hello, World!"`。
44 8
|
6月前
|
Unix Shell Linux
shell脚本编写
Shell脚本是Linux/Unix系统中的自动化工具,由命令行解释器(如bash)执行。以下是一个简单示例,包括打印欢迎信息、定义变量、判断操作系统、循环打印数字和读取用户输入。编写时注意Shebang(`#!/bin/bash`)、变量赋值、`echo`和`read`命令的使用,以及条件和循环语句。运行脚本需先用`chmod +x script.sh`赋予执行权限,再用`./script.sh`执行。
58 3
|
6月前
|
监控 Shell Linux
Shell脚本基础
Shell脚本基础
40 9
|
Java Unix Shell
Shell 脚本的编写总结
这篇文章主要是为了记录一下Shell脚本的使用语法,前几天写了一个shell脚本,其中,也遇到了一些语法不清楚的情况,在此记录一下已备后续使用
258 0
Shell 脚本的编写总结
|
监控 算法 Java
Shell 编程基础与脚本规范
1 编程基础 1.1 程序组成 程序:算法+数据结构 数据:是程序的核心 算法:处理数据的方式 数据结构:数据在计算机中的类型和组织方式
351 0
|
Java Shell 开发者
Shell脚本规范|学习笔记
快速学习Shell脚本规范
Shell脚本规范|学习笔记
|
Shell Linux 开发者
Shell脚本基础| 学习笔记
快速学习Shell脚本基础
481 0