Linux Shell脚本入门

news2024/12/22 13:39:14

目录

介绍

编写格式与执行方式

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java 方法中参数类型后写了三个点?什么意思?

1、...代表什么意思&#xff1f; 2、如何使用 3、注意事项 4、两个list&#xff0c;一个新的&#xff0c;一个旧的&#xff0c;旧列表中可能有新列表中存在的数据&#xff0c;也可能存在新列表中不存在的数据&#xff08;注&#xff1a;新旧列表中都不存在重复元素&#xff09;…

【数据结构】堆:堆的构建,堆的向上调整算法,堆的向下调整算法、堆排序

目录 一、堆的定义 1、堆的定义&#xff1a; 2、根节点与其左、右孩子间的联系 二、堆的创建 1、堆的向下调整算法 2、堆的向上调整算法 三、堆排序 一、堆的定义 1、堆的定义&#xff1a; 堆可以被看作是一棵完全二叉树的数组对象。即在存储结构上是数组&#xff0c…

2024 年 10 款最佳 Windows 免费分区管理器软件

买了一台现成的全新电脑&#xff0c;出于多种原因希望对硬盘进行分区&#xff0c;例如&#xff0c;为了更好地组织文件。我们整理了一份最佳分区软件列表&#xff0c;可以帮助您轻松完成这项任务。 适用于 Windows 11/10/8.1/8/7 的最佳 10 个磁盘分区工具 1.奇客分区大师 兼容…

vue3自定义按钮点击变颜色(切换)

实现效果图&#xff1a; 默认选中第一个按钮&#xff0c;未选中按钮为粉色&#xff0c;点击时颜色变为红色 利用动态类名&#xff0c;当定义isChange数值和下标index相同时&#xff0c;赋予act类名&#xff0c;实现变色效果 <template><view class"page"&g…

FPGA 多路分频器实验

1 概述 在 FPGA 中&#xff0c;时钟分频是经常用到的。本节课讲解 2 分频、3 分频、4 分频和 8 分频的 Verilog 实现并且学习 generate 语法功能的应。 2 程序设计思路 1&#xff09;整数倍分频&#xff0c;为 2、4、8&#xff0c;这种 2^n 次方倍数倍数关系的…

Spring Security 中 Authentication和Authorization的区别

Authentication Spring Security提供了全面的认证支持。认证是用来验证试图访问特定资源的用户身份的方式。验证用户的常见方式是要求用户输入用户名和密码。一旦认证完成&#xff0c;我们就知道了用户的身份并且可以进行授权。 Spring Security内置支持对用户进行认证。 简…

el-date-picker如果超过限制跨度则提示

需求&#xff1a;实现日期时间选择组件跨度如果超过限制天数&#xff0c;点击查询则提示超过限制时间 封装一个方法&#xff0c;传入开始和结束时间以及限制天数&#xff0c;如果超过则返回false //计算时间跨度是否超过限制天数isTimeSpanWithinLimit(startTime, endTime, li…

Android Text View 去掉默认的padding的实现方法

先看下最终实现效果&#xff0c;满意您在往下看&#xff1a; TextView 绘制的时候自带一定的Padding值&#xff0c;要想实现去掉默认的padding值&#xff0c;xml文件可以设置一个属性值 &#xff1a; android:includeFontPadding"false" 然后运行起来就会发现&…

【C++干货铺】红黑树 (Red Black Tree)

个人主页点击直达&#xff1a;小白不是程序媛 C系列专栏&#xff1a;C干货铺 代码仓库&#xff1a;Gitee 目录 前言 红黑树的概念 红黑树的性质 红黑树结点的定义 红黑树的插入操作 插入新的结点 检查规则进行改色 情况一 情况二 情况三 插入完整代码 红黑树的验…

ArcGIS Pro 如何新建布局

你是否已经习惯了在ArcGIS中数据视图和布局视图之间来回切换&#xff0c;到了ArcGIS Pro中却找不到二者之间切换的按钮&#xff0c;即使新建布局后却发现地图怎么却是一片空白。 这一切的一切都是因为ArcGIS Pro的功能框架完全不同&#xff0c;这里为大家介绍一下在ArcGIS Pro…

纸黄金实战投资技巧:避免亏损的有效策略

在纸黄金交易的实战中&#xff0c;避免亏损是每位投资者都追求的目标。虽然任何投资都存在一定的风险&#xff0c;但采取一些有效的策略可以帮助投资者最大限度地减少亏损的可能性。以下是一些在纸黄金交易中避免亏损的实战技巧&#xff1a; 一、设定止损点是避免亏损的关键 止…

【Android】自定义View onDraw()方法会调用两次

问题 自定义了View后&#xff0c;在构造函数中设置画笔颜色&#xff0c;发现它没起效&#xff0c;但是在onDraw()里设置颜色就会起效&#xff0c;出问题的代码如下&#xff1a; public RoundSeekbarView(Context context, Nullable AttributeSet attrs) {super(context, attrs…

dubbo入门案例!!!

入门案例之前我们先介绍一下&#xff1a;zookeeper。 Zookeeper是Apacahe Hadoop的子项目&#xff0c;可以为分布式应用程序协调服务&#xff0c;适合作为Dubbo服务的注册中心&#xff0c;负责服务地址的注册与查找&#xff0c;相当于目录服务&#xff0c;服务提供者和消费者只…

考下初级会计证书,好处竟有这么多!柯桥学会计去哪里?零基础入门手把手教学

初级会计证书有什么用&#xff1f; 初级会计证书有什么用&#xff1f;往下看&#xff0c;看完还没报名的建议大家赶紧报名&#xff0c;今年拿下&#xff01;因为初级会计证书真的很有用&#xff01; 01 求职刚需 初级会计是会计职业的起点&#xff0c;很多会计基础岗位&#x…

rust跟我学六:虚拟机检测

图为RUST吉祥物 大家好,我是get_local_info作者带剑书生,这里用一篇文章讲解get_local_info是怎么检测是否在虚拟机里运行的。 首先,先要了解get_local_info是什么? get_local_info是一个获取linux系统信息的rust三方库,并提供一些常用功能,目前版本0.2.4。详细介绍地址:…

关于Jenkins安装后,插件管理中插件版本依赖报错问题的解决方法

我们在初次安装完Jenkins后&#xff0c;通常会去下载要使用的插件&#xff0c;但是在插件管理中通常会出现插件版本问题的提示&#xff0c;例如&#xff1a; 此类问题一般可通过升级Jenkins到最新版本来解决问题。但是Jenkins从旧版本升级到最新版本&#xff0c;望望可能会连…

redis安装-Linux为例

可以下载一个Shell或者MobaXterm工具&#xff0c;便于操作 在redis官网下载压缩包 开始安装 安装依赖 yum install -y gcc tcl切换目录 切换目录后直接把redis安装包拖到/user/local/src/下 cd /user/local/src/解压然后安装 #解压 tar -zxvf redis-7.2.4.tar.gz #安装 …

并发编程之MESI缓存一致性协议

目录 CPU缓存架构 CPU多核缓存架构 CPU缓存架构缓存一致性的解决方案 缓存一致性协议实现原理 总线窥探 工作原理 窥探协议类型 缓存一致性协议 MESI协议 伪共享问题 CPU缓存架构 CPU缓存即高速缓冲存储器&#xff0c;是位于CPU与主内存间的一种容量较小但速度很高的…

如何在MinIO存储服务中通过Buckets实现远程访问管理界面上传文件

文章目录 前言1. 创建Buckets和Access Keys2. Linux 安装Cpolar3. 创建连接MinIO服务公网地址4. 远程调用MinIO服务小结5. 固定连接TCP公网地址6. 固定地址连接测试 前言 MinIO是一款高性能、分布式的对象存储系统&#xff0c;它可以100%的运行在标准硬件上&#xff0c;即X86等…

Halcon基于相关性的模板匹配

Halcon基于相关性的模板匹配 基于相关性的模板匹配其实是另一种基于灰度值的匹配&#xff0c;不过它的特点是使用一种归一化的互相关匹配&#xff08;Normalized Cross Correlation&#xff0c;NCC&#xff09;来衡量模板图像和检测图像之间的关系&#xff0c;因此&#xff0c…