Linux | Shell脚本的基础知识

发布于:2025-05-30 ⋅ 阅读:(23) ⋅ 点赞:(0)

一. 定义

1.1 什么是shell脚本

  • shell脚本是一种可运行文本
  • shell脚本的内容是由逻辑和数据组成
  • shell脚本是解释型语言
    • 命令不可单独执行,由解释器将代码转换为系统指令,系统接受指令后执行
    • 速度比编译型语言慢,优点是简单,开发效率高

1.2 shell脚本存在的意义

  • Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具
  • 一次编编写永久受益,多台主机都可以使用同一个脚本

二. shell脚本的基本元素及作用

  • 脚本幻数:即脚本解释器,脚本运行的最优先指令,负责对脚本中其他命令进行解释
    • 在脚本文件首行出现的特殊字符序列。主要作用是告知系统该脚本需要使用哪种解释器来运行。
  • 程序主题:程序主体通常由命令,执行逻辑控制器和数据组成 
  • 注释:脚本中的说明文字,不参与脚本执行,只是对脚本中的代码进行说明

三. 脚本的书写规范及注释书写技巧

3.1 shell脚本的注释方法

  • 单行注释 #
#print date   单行注释
date          程序主题
  • 多行注释 
: "
1.print date               多行注释(:与"之间有个空格)
2.
2.
"
date                       程序主题

3.2 shell脚本的书写规范

  • 脚本文件名:应见名知意
    • 如" nginx_installtion.sh ",这是一个安装nginx的脚本
  • 脚本解释器:文件开头指定脚本解释器 #!/bin/sh #!/bin/bash
  • 注释:单行注释或多行注释,注释不要用中文,避免后期中文乱码
  • 尽量用少的命令完成动作,多使用内部命令
    • 如:echo、eval、exec、export、read、shift、exit
  • 开头添加信息

    3.3 vim用于书写脚本的设定

    • 配置 ~/.vimrc 文件
      • /.vimrc 是 Vim 编辑器的用户配置文件,用于存储用户自定义的编辑习惯和功能设置
      • 生效对象:仅对当前用户生效,每次打开 Vim 时会自动加载该文件中的配置

    • 功能:在新建脚本文件时,在头部插入标准化注释模板

      四. shell脚本执行方法详解

      4.1 无可执行权限

      • 当脚本没有可执行权限时,是不能用脚本的绝对路径去调用他的

      • 相对路径也不行

      • 调用的三种方法

      ##1 source xx.sh
      [root@huang4 script]# source hh.sh
      Tue May 27 05:45:00 PM CST 2025
      
      ##2 . xx.sh
      [root@huang4 script]# . hh.sh
      Tue May 27 05:45:25 PM CST 2025
      
      ##3 sh xx.sh
      [root@huang4 script]# sh hh.sh
      Tue May 27 05:45:33 PM CST 2025
      

         4.2 有可执行权限

        ## 添加权限
        [root@huang4 script]# chmod +x hh.sh
        

        4.3 区别

        • “ source hh.sh ”与“ . hh.sh ”:以当前的shell作为解释器,不会开启新的shell

        • “ sh hh.sh ”:用指定的解释器

        • “ ./hh.sh ”:在脚本文件中查看使用哪一种解释器,先开发后运行

        五. shell脚本的调试

        • 显示执行过程

        ## 调试脚本   sh -x name.sh
        ## +表示动作  没有+表示输出
        
        [root@huang4 script]# sh -x hh.sh
        + date
        Thu May 29 10:56:20 PM CST 2025
        
        • 直接执行脚本 

        [root@huang4 script]# sh hh.sh
        Thu May 29 10:58:36 PM CST 2025

        六. 脚本退出值

        6.1 什么是退出值

        • 执行一条命令完毕后,系统会给出一个退出值,若成功则为0,出现错误则1~255

        • 退出状态码是一个整数,其有效范围为0~255

        • 行为良好的UNIX命令,程序和工具都会返回0作为退出码来表示成功。

        6.2 查看退出值

        • 完成一条命令后,输入 echo $?  查看退出值

        6.3 修改退出值

        • 未指定退出值(exit 后没有加数值)

        • 指定退出值(exit 数值)