Linux Shell脚本入门

目录

介绍

编写格式与执行方式

Shell脚本文件编写规范

脚本文件后缀名规范

首行格式规范

注释格式

shell脚本HelloWord入门案例

需求

效果

实现步骤

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

介绍

3种方式的区别

小结

多命令处理

Shell变量

环境变量

目标

Shell变量的介绍

变量类型

系统环境变量

介绍

shell配置文件分类

环境变量分类

查看当前Shell系统环境变量

查看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

解析器类型

Centos默认的解析器是bash

        语法 echo $SHELL

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

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

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

效果

小结:

1、Shell是什么:

        是命令,类似于Windows中的dos命令
        又是一门程序设计语言,里面含有变量,函数,逻辑控制语句等

2、Shell脚本是什么

        是一个文本文件,里面可以编写Shell命令或进行编程,形成一个可重用执行的脚本文件

3、Shell脚本的作用

        通过Shell编程提高对Linux系统管理工作效率

4、Linux系统默认的shell解析器

        /bin/bash

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

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

编写格式与执行方式

Shell脚本文件编写规范

脚本文件后缀名规范

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

首行格式规范

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

        #!/bin/bash

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

注释格式

单行注释:语法

        #注释内容

多行注释:语法

        :<<!
          注释内容1
          注释内容2
        !

shell脚本HelloWord入门案例

需求

创建一个shell脚本文件helloWord.sh,输出hollow word字符串

效果

实现步骤

1、创建shell脚本文件

        toush helloword.sh

2、编辑文件

        vim helloword.sh

运行效果

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

介绍

1、sh解析器执行方式

语法:sh 脚本文件

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

2、bash解析器执行方式

语法:bash 脚本文件

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

3、仅路径执行方式

语法:./脚本文件

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

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

            给所有用户增加权限:
            chmod a+x helloword.sh
3种方式的区别

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

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

小结

1、Shell脚本文件编写规范

文件后缀名:建议使用.sh拓展名

首行需要设置解析器类型#!/bin/bash

脚本文件中的注释

单行注释:#注释内容

多行注释:<<! 内容 !

2、执行脚本文件的三种方式,并说出他们的区别?

sh执行脚本文件

bash执行脚本文件

仅路径执行脚本文件

区别:前两种是解析器直接执行不需要可执行权限,最后一种是脚本自己执行需要可执行权限

多命令处理

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

案例需求

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

步骤分析

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

2、创建脚本文件batch.sh

3、编辑脚本文件

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

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

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

    数据 >> 文件

4、执行脚本文件

Shell变量

环境变量

目标

1.理解什么是系统变量

2.掌握常用的系统变量都有哪些

Shell变量的介绍

变量用于储存管理临时的数据,这些数据都是在运行内存中的

变量类型

1.系统环境变量

2.自定义变量

3.特殊符号变量

系统环境变量

介绍

是系统提供的共享变量。是Linux系统加载shell的配置文件中定义的变量共享给所有的shell程序使用

shell配置文件分类

1.全局配置文件

/etc/profile

/etc/profile.d/*.sh

/etc/bashrc

2.个人配置文件

当前用户/.bash_profile

当前用户/.bashrc

一般情况下,我们都是直接针对全局配置进行操作

环境变量分类

在Linux系统中环境变量按照其作用范围不同大致可以分为系统环境变量和用户级环境变量

系统级环境变量:Shell环境加载全局配置文件中的变量共享给所有用户所有Shell程序使用,全局共享

用户级环境变量:Shell环境加载个人配置文件中的变量共享给当前用户的Shell程序使用,登录用户使用

查看当前Shell系统环境变量

查看命令

        env
查看Shell变量(系统环境变量+自定义变量+函数)

查看命令

        set
常用的系统环境变量

环境变量输出演示
        echo $PATH

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/333411.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java:token自动续期,使用Gateway过滤器—GlobalFilter

文章目录 前言一、使用步骤1.实体user2.登录AuthController3.网关GatewayFilter4.续约TokenService 总结 前言 在系统中&#xff0c;在 token 的有效期内&#xff0c;可以登录使用&#xff0c;并且要求如果一直使用系统&#xff0c;一直保持登录状态&#xff0c;而不是 token …

MySQL存储函数与存储过程习题

创建表并插入数据&#xff1a; 字段名 数据类型 主键 外键 非空 唯一 自增 id INT 是 否 是 是 否 name VARCHAR(50) 否 否 是 否 否 glass VARCHAR(50) 否 否 是 否 否 ​ ​ sch 表内容 id name glass 1 xiaommg glass 1 2 xiaojun glass 2 1、创建一个可以统计表格内记录…

pytest文档35-Hooks函数之统计测试结果(pytest_terminal_summary)

前言 用例执行完成后&#xff0c;我们希望能获取到执行的结果&#xff0c;这样方便我们快速统计用例的执行情况。 也可以把获取到的结果当成总结报告&#xff0c;发邮件的时候可以先统计测试结果&#xff0c;再加上html的报告。 pytest_terminal_summary 关于TerminalReport…

Kubernetes(K8S)拉取本地镜像部署Pod 实现类似函数/微服务功能(可设置参数并实时调用)

以两数相加求和为例&#xff0c;在kubernetes集群拉取本地的镜像&#xff0c;实现如下效果&#xff1a; 1.实现两数相加求和 2.可以通过curl实时调用&#xff0c;参数以GET方式提供&#xff0c;并得到结果。&#xff08;类似调用函数&#xff09; 一、实现思路 需要准备如下的…

绑定class,条件渲染,列表过滤,列表排序

目录​​​​​​​ 绑定class 条件渲染 列表过滤 列表排序 绑定class <div class"normal" :class"mood" click"changename">111{{name}}</div><div class"normal" :class"arr">111{{name}}</div…

AI嵌入式K210项目(15)-安全散列算法加速器

文章目录 前言一、什么是SHA256&#xff1f;实验原理 二、K210的安全散列算法加速器三、实验过程总结 前言 K210内置了丰富的加速器&#xff0c;包括神经网络处理器 (KPU)&#xff0c;AES(高级加密加速器)&#xff0c;APU 麦克风阵列语音数据加速计算处理器&#xff0c;现场可…

计算机网络-ACL访问控制列表

上一篇介绍NAT时候就看到了ACL这个东西了&#xff0c;这个是什么意思&#xff1f;有什么作用呢&#xff1f; 一、ACL访问控制列表 访问控制列表 (ACL, Access Control List)是由一系列permit或deny语句组成的、有序规则的列表。ACL是一个匹配工具&#xff0c;能够对报文进行匹配…

前端学习路线图和一些经验

关于前端目前个人建议的一个路线,也是自己之前前端学习时候的一个大致路线,给想要学习前端的小白一个参考,以前自己刚开始接触前端的时候就是不知道该按照什么路线学习 eg-前端是做什么的&#xff1f; 就是开发网站,移动端&#xff0c;小程序之类的页面 调调接口完成页面的渲…

异步非阻塞事件驱动架构的具体流程解析

异步非阻塞事件驱动架构是一种高效的编程和系统设计模式&#xff0c;特别适用于需要处理大量并发连接和请求的应用&#xff0c;如Web服务器。 1. 初始化和启动 启动过程&#xff1a;当Nginx启动时&#xff0c;它的主进程初始化配置并启动多个工作进程。工作进程创建&#xff1…

虚拟线程探索与实践

优质博文&#xff1a;IT-BLOG-CN 一、简介 虚拟线程是轻量级线程&#xff0c;极大地减少了编写、维护和观察高吞吐量并发应用的工作量。虚拟线程是由JEP 425提出的预览功能&#xff0c;并在JDK 19中发布&#xff0c;JDK 21中最终确定虚拟线程&#xff0c;以下是根据开发者反馈…

杂记 | 在Linux上使用Docker-compose安装单机版Milvus向量数据库并配置访问控制和可视化面板(Attu)

文章目录 01 Milvus向量数据库简介02 安装前的准备03 安装3.1 创建milvus工作目录3.2 下载并编辑docker-compose.yml3.3 下载milvus.yml文件3.4 启动milvus 04 访问可视化面板并修改密码 01 Milvus向量数据库简介 Milvus是一款开源的向量数据库&#xff0c;它专为AI应用设计&a…

移动端 h5-table react版本支持虚拟列表

介绍 适用于 react ts 的 h5 移动端项目 table 组件 github 链接 &#xff1a;https://github.com/duKD/react-h5-table 有帮助的话 给个小星星 有两种表格组件 常规的&#xff1a; 支持 左侧固定 滑动 每行点击回调 支持 指定列排序 支持滚动加载更多 效果和之前写的vue…

聚类模型评估指标

聚类模型评估指标-轮廓系数 计算样本i到同簇其它样本到平均距离ai&#xff0c;ai越小&#xff0c;说明样本i越应该被聚类到该簇&#xff08;将ai称为样本i到簇内不相似度&#xff09;&#xff1b;计算样本i到其它某簇Cj的所有样本的平均距离bij&#xff0c;称为样本i与簇Cj的…

鉴源实验室|自动驾驶仿真测试技术分析

01 引言 随着科技的不断发展&#xff0c;自动驾驶技术逐渐成为汽车行业的热门话题。然而&#xff0c;要将自动驾驶车辆投放到真实道路上之前&#xff0c;必须进行广泛的测试&#xff0c;以确保其在各种情况下都能安全可靠地运行。自动驾驶车辆的测试是一个复杂而昂贵的过程。…

AQY212S光耦合器:特性和应用揭秘

在不断发展的电子元件领域&#xff0c;AQY212S光耦合器作为适合众多应用的多功能且可靠的解决方案脱颖而出。作为光耦合器技术专家&#xff0c;让我们深入研究AQY212S的功能和应用&#xff0c;揭开这款令人印象深刻的器件的神秘面纱。 AQY212S是一款固态继电器(SSR)光耦合器&a…

【docker-compose】【nginx】内网环境https配置

目录 1、openssl生成自签名证书和私钥2、nginx.conf配置ssl3、docker-compose挂载 1、openssl生成自签名证书和私钥 在部署服务器上&#xff0c;新建cert目录&#xff0c;执行以下指令&#xff0c;然后生成.crt和.key文件 openssl req -newkey rsa:2048 -nodes -keyout rsa_pri…

2023年全球软件架构师峰会(ArchSummit深圳站):核心内容与学习收获(附大会核心PPT下载)

本次峰会是一次重要的技术盛会&#xff0c;旨在为全球软件架构师提供一个交流和学习的平台。本次峰会聚焦于软件架构的最新趋势、最佳实践和技术创新&#xff0c;吸引了来自世界各地的软件架构师、技术专家和企业领袖。 在峰会中&#xff0c;与会者可以了解到数字化、AIGC、To…

指针定义与使用

系列文章目录 指针定义与使用 指针定义与使用 系列文章目录一、指针的定义与使用二、相关案例 一、指针的定义与使用 指针 指针的定义和使用&#xff1a; 1、指针&#xff1a;是一种数据类型 指针变量也是一种变量 int* p int*是数据类型 p是指针变量 2、指针格式&#xff1a;…

webpack面试题学习

说说你对webpack的理解&#xff1f;解决了什么问题&#xff1f; 说说webpack的构建流程? 说说webpack中常见的Loader&#xff1f;解决了什么问题&#xff1f; 说说webpack中常见的Plugin&#xff1f;解决了什么问题&#xff1f; 说说Loader和Plugin的区别&#xff1f;编写Load…