• 【Shell】Shell脚本入门


    Shell脚本入门

    疑问

    linux系统是如何操作计算机硬件CPU,内存,磁盘,显示器等?

    答: 使用linux的内核操作计算机的硬件

    Shell介绍

    通过编写Shell命令发送给linux内核去执行, 操作就是计算机硬件. 所以Shell命令是用户操作计算机硬件的桥梁,

    Shell是命令, 类似于windows系统Dos命令

    Shell是一个门程序设计语言, Shell里面含有变量, 函数, 逻辑控制语句等等

    Shell脚本

    通过Shell命令或程序编程语言编写的Shell文本文件, 这就是Shell脚本 , 也叫Shell程序

    为什么学习Shell脚本?

    通过Shell命令与编程语言来提高linux系统的管理工作效率

    Shell的运行过程

    当用户下达指令给该操作系统的时候,实际上是把指令告诉shell,经过shell解释,处理后让内核做出相应的动作。 系统的回应和输出的信息也由shell处理,然后显示在用户的屏幕上。

    Shell解析器

    查看linux系统centos支持的shell解析器

    cat /etc/shells

    效果

    介绍解析器类型

    解析器类型介绍
    /bin/shBourne Shell,是UNIX最初使用的shell;
    /bin/bashBourne Again Shell它是Bourne Shell的扩展,简称bash,是LinuxOS默认shell,有灵活和强大的编辑接口,同时又很友好的用户界面,交互性很强;
    /sbin/nologin未登录解析器, shell设置为/sbin/nologin 是用于控制用户禁止登陆系统的, 有时候有些服务,比如邮件服务,大部分都是用来接收主机的邮件而已,并不需要登陆
    /bin/dashdash(Debian Almquist Shell),也是一种 Unix shell。它比 Bash 小,只需要较少的磁盘空间,但是它的对话性功能也较少,交互性较差。
    /bin/cshC Shell是C语言风格Shell
    /bin/tcsh是C Shell的一个扩展版本。

    Centos默认的解析器是bash

    语法

    echo $SHELL

    含义: 打印输出当前系统环境使用的Shell解析器类型

    echo 用于打印输出数据到终端

    $SHELL 是全局共享的读取解析器类型环境变量, 全局环境变量时所有的Shell程序都可以读取的变量,

    效果

    Shell脚本文件编写规范

    脚本文件后缀名规范

    shell脚本文件就是一个文本文件, 后缀名建议使用 .sh 结尾

    首行格式规范

    首行需要设置Shell解析器的类型, 语法

    #!/bin/bash

    含义: 设置当前shell脚本文件采用bash解析器运行脚本代码

    注释格式

    单行注释, 语法

    # 注释内容

    多行注释, 语法

    1. :<
    2. # 注释内容1
    3. # 注释内容2
    4. !

    shell脚本HelloWord入门案例

    需求

    创建一个Shell脚本文件helloworld.sh,输出hello world字符串

    效果
    实现步骤

    1、创建shell脚本文件

    touch helloworld.sh

    2、编辑文件

    vim helloworld.sh

    3、增加shell脚本文件内容如下,并保存退出

    1. #!/bin/bash
    2. echo "hello world"

    4、执行脚本

    sh helloworld.sh

    运行效果

    脚本文件的常用执行3种方式

    介绍
    1. sh解析器执行方式

      语法: sh 脚本文件

      介绍: 就是利用sh命令执行脚本文件, 本质就是使用Shell解析器运行脚本文件

    2. bash解析器执行方式

      语法: bash 脚本文件

      介绍: 就是利用bash命令执行脚本文件, 本质就是使用Shell解析器运行脚本文件

    3. 仅路径执行方式

      语法: ./脚本文件

      介绍: 执行当前目录下的脚本文件

      注意: 脚本文件自己执行需要具有可执行权限, 否则无法执行

    3种方式的区别

    sh或bash执行脚本文件方式是直接使用Shell解析器运行脚本文件, 不需要可执行权限

    仅路径方式是执行脚本文件自己, 需要可执行权限

    执行脚本方式1-sh命令执行

    相对路径效果

    sh helloworld.sh

    绝对路径效果

    sh /root/helloworld.sh

    执行脚本方式2-bash命令执行

    相对路径效果

    绝对路径效果

    执行脚本方式3-仅路径执行
    语法

    步骤1:设置所有用户对此脚本文件增加可执行性权限

    chmod a+x 脚本文件

    步骤2:执行脚本语法

    脚本文件的相对路径或绝对路径
    示例:使用仅路径方式执行helloworld.sh脚本文件

    添加执行权限

    chmod a+x helloworld.sh

    相对路径执行命令

    ./helloworld.sh

    相对路径执行效果

    绝对路径执行命令

    /root/helloworld.sh

    绝对路径执行效果

    多命令处理介绍

    就是在Shell脚本文件中编写多个Shell命令

    案例需求

    已知目录/root/itheima目录,执行batch.sh脚本,实现在/root/itheima/目录下创建一个one.txt,在one.txt文件中增加内容“Hello Shell”。

    步骤分析

    1. 使用mkdir创建/root/itheima目录

    2. 创建脚本文件batch.sh

    3. 编辑脚本文件

      3.1 命令1: touch创建文件, 文件名 /root/itheima/one.txt

      3.2 命令2: 输出数据"Hello Shell"到one.txt文件中

      输出数据到文件中的命令:

      数据 >> 文件

    4. 执行脚本文件

    实现步骤

    1、进入root目录,执行创建/root/itheima目录命令

    mkdir /root/itheima

    2、创建/root/batch.sh文件

    touch batch.sh

    2、编辑batch.sh文件,编写shell命令

    vim batch.sh

    3、编写命令

    命令1:创建/root/itheima/one.txt文件

    命令2:输出“I love Shell”字符串数据到one.txt文件中

    1. #!/bin/bash
    2. cd itheima # 切换到itheima目录
    3. touch one.txt # 创建文件one.txt
    4. echo "Hello Shell">>/root/itheima/one.txt #输出数据到one.txt文件中

    运行脚本效果

    运行batch.sh脚本文件

    sh batch.sh

    查看one.txt文件内容

    cat itheima/one.txt

  • 相关阅读:
    Codeforces Global Round 23 E CF1746E Joking (Hard Version)
    Python基于selenium实现禅道导出上周BUG记录
    Photoshop 2023:重塑创意,引领数字艺术新纪元
    华为认证云计算专家(HCIE-Cloud Computing)–单选题
    Python数据攻略-Pandas进行CSV和Excel文件读写
    通过部署流行 Web 框架掌握 Serverless 技术
    python实现将图片数据以LMDB方式存储
    matlab判断下列级数的收敛性
    自动驾驶入门:Apollo 概述与高精地图
    罗技驱动默认安装位置介绍
  • 原文地址:https://blog.csdn.net/weixin_45481821/article/details/133841190