这一小节是复习的内容,主要是会在操作系统当中编辑第一个shell脚本。


什么是shell

这部分内容可以参照我另外一篇文章: 4.Linux中的环境变量及shell讲解 。实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。

shell脚本的用途

自动化常用命令
执行系统管理和故障排除
创建简单的应用程序
处理文本或文件

shell脚本基本结构

shell脚本编程:是基于过程式、解释执行的语言
编程语言的基本结构:
各种系统命令的组合
数据存储:变量、数组
表达式:a + b
控制语句:if
shell脚本:包含一些命令或声明,并符合一定格式的文本文件

首行格式要求

#!/bin/bash
#!/usr/bin/python
#!/usr/bin/perl

解释: #!/bin/bash是指此脚本使用/bin/bash来解释执行。#!是一个特殊的表示符,其后,跟着解释此脚本的shell路径。bash只是shell的一种,还有很多其它shell,如:sh,csh,ksh,tcsh,…

创建shell脚本过程

  • 使用文本编辑器来创建文本文件
  • 第一行必须包括shell声明序列:#!
  • 示例:
    添加注释,注释以#开头
  • 第二步:加执行权限
    给予执行权限,在命令行上指定脚本的绝对或相对路径
  • 第三步:运行脚本
    直接运行解释器,将脚本作为解释器程序的参数运行

脚本注释规范

  • 第一行一般为调用使用的语言
  • 程序名,避免更改文件名为无法找到正确的文件
  • 版本号
  • 更改后的时间
  • 作者相关信息
  • 该程序的作用,及注意事项
  • 最后是各版本的更新简要说明

注释范例:

#!/bin/bash
# ------------------------------------------
# Filename: hello.sh
# Version:   1.1
# Date: 2021/01/01
# Author: shuge
# Email: 123@mail.com
# Website: www.zaishu.cn
# Description: This is the first script
# Copyright: shuge
# License: GPL
# ------------------------------------------
echo “hello world”

脚本执行

[root@zaishu sh]# chmod +x hello.sh 
[root@zaishu sh]# sh hello.sh 
hello world
[root@zaishu sh]# ./hello.sh 
hello world
[root@zaishu sh]# bash hello.sh 
hello world