Linux【系统学习】(shell篇)

news/2024/11/13 3:58:38/

1 Shell 概述

1Linux 提供的 Shell 解析器有 

 

2bash sh 的关系

 

3Centos 默认的解析器是 bash

 

2 Shell 脚本入门

1)脚本格式
脚本以#!/bin/bash 开头(指定解析器)
2)第一个 Shell 脚本:helloworld.sh
1)需求:创建一个 Shell 脚本,输出 helloworld
(2)案例实操:
(3)脚本的常用执行方式
第一种:采用 bash sh+脚本的相对路径或绝对路径(不用赋予脚本+x 权限)
sh+脚本的相对路径

 

sh+脚本的绝对路径 

 

bash+脚本的相对路径

 

bash+脚本的绝对路径 

 

第二种:采用输入脚本的绝对路径或相对路径执行脚本(必须具有可执行权限+x
①首先要赋予 helloworld.sh 脚本的+x 权限

 

②执行脚本
相对路径

 

绝对路径 

 

注意:第一种执行方法,本质是 bash 解析器帮你执行脚本,所以脚本本身不需要执行权限。第二种执行方法,本质是脚本需要自己执行,所以需要执行权限。
【了解】第三种:在脚本的路径前加上“.”或者 source
①有以下脚本

②分别使用 shbash./ . 的方式来执行,结果如下:

原因:
前两种方式都是在当前 shell 中打开一个子 shell 来执行脚本内容,当脚本内容结束,则子 shell 关闭,回到父 shell 中。
第三种,也就是使用在脚本路径前加“.”或者 source 的方式,可以使脚本内容在当前shell 里执行,而无需打开子 shell !这也是为什么我们每次要修改完 /etc/profile 文件以后,需要 source 一下的原因。
开子 shell 与不开子 shell 的区别就在于,环境变量的继承关系,如在子 shell 中设置的当前变量,父 shell 是不可见的。

3 章 变量

3.1 系统预定义变量

1 )常用系统变量
$HOME $PWD $SHELL $USER
2 )案例实操
1 )查看系统变量的值

(2)显示当前 Shell 中所有变量: set

3.2 自定义变量

1 )基本语法
1 )定义变量:变量名 = 变量值, 注意, = 号前后不能有空格
(2)撤销变量: unset 变量名
(3)声明静态变量: readonly 变量,注意:不能 unset
2 )变量定义规则
1 )变量名称可以由字母、数字和下划线组成,但是不能以数字开头, 环境变量名建
议大写
(2)等号两侧不能有空格
(3)在 bash 中,变量默认类型都是字符串类型,无法直接进行数值运算。
(4)变量的值如果有空格,需要使用双引号或单引号括起来。
3 )案例实操
1 )定义变量 A
(2)给变量 A 重新赋值

 

(3)撤销变量 A

(4)声明静态的变量 B=2 ,不能 unset

(5)在 bash 中,变量默认类型都是字符串类型,无法直接进行数值运算

(6)变量的值如果有空格,需要使用双引号或单引号括起来

(7)可把变量提升为全局环境变量,可供其他 Shell 程序使用

 helloworld.sh 文件中增加 echo $B

发现并没有打印输出变量 B 的值。

3.3 特殊变量

3.3.1 $n

1 )基本语法
$n (功能描述:n 为数字, $0 代表该脚本名称, $1-$9 代表第一到第九个参数,十以上的参数,十以上的参数需要用大括号包含,如${10}
2 )案例实操

3.3.2 $#

1 )基本语法
$# (功能描述:获取所有 输入参数个数 ,常用于循环 , 判断参数的个数是否正确以及加强脚本的健壮性)。
2 )案例实操

3.3.3 $*$@

1 )基本语法
$* (功能描述:这个变量代表命令行中所有的参数, $* 把所有的参数看成一个整体
$@ (功能描述:这个变量也代表命令行中所有的参数,不过 $@ 把每个参数区分对待
2 )案例实操

3.3.4 $

1 )基本语法
$ ? (功能描述:最后一次执行的命令的返回状态。如果这个变量的值为 0 ,证明上一个命令正确执行;如果这个变量的值为非 0 (具体是哪个数,由命令自己来决定),则证明上一个命令执行不正确了。)
2 )案例实操
判断 helloworld.sh 脚本是否正确执行

4 章 运算符

1 )基本语法
“$(( 运算式 ))” “$[ 运算式 ]”
2 )案例实操:
计算(2+3) * 4 的值

5 章 条件判断 

3)案例实操 

6 章 流程控制(重点)

6.1 if 判断

1)基本语法 

2 )案例实操
输入一个数字,如果是 1 ,则输出 banzhang zhen shuai ,如果是 2 ,则输出 cls zhen mei
如果是其它,什么也不输出。

  

6.2 case 语句

1 )基本语法

6.3 for 循环 

6.4 while 循环 

7 read 读取控制台输入 

8 章 函数

8.1 系统函数

8.1.1 basename

8.1.2 dirname 

 8.2 自定义函数

9 章 正则表达式入门

正则表达式使用单个字符串来描述、匹配一系列符合某个语法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。在 Linux 中,grep, sed, awk 等文本处理工具都支持通过正则表达式进行模式匹配。

9.1 常规匹配

9.2 常用特殊字符 

10 章 文本处理工具

10.1 cut

10.2 awk  

11 章 综合应用案例

11.1 归档文件

11.2 发送消息 

 


http://www.ppmy.cn/news/520780.html

相关文章

一加7pro保存的录音文件在哪一个文件夹?

打开文件管理,先点击底端的存储,然后依次点击Record、SoundRecord,即可找到保存的录音文件。 转载于:https://www.cnblogs.com/coolwhite/p/11146183.html

安卓手机备忘录怎么添加录音

1,在便签分类里,长按底部的,打开大输入框。 2,点击输入框里麦克风按钮,跳转到录音界面录音并上传。 3,如果要上传本地音频,可以点击输入框工具栏里的传文件按钮,然后选择音频&#x…

计算机中录音文件以什么格式保存,手机录音是什么格式

手机的录音格式一般都是AMR、WAV、AWB格式,你要是想转换成MP3格式的话可以试试下面这个办法: 录音转文字助手 一、查找、打开 第一步:首先需要在手机应用市场找到【录音转文字助手】,安在手机中就可以打开打开录音转文字助手之后&…

OPPO手机怎么录音 OPPO手机中便签进行录音的操作方法

现在国产手机越来越受欢迎了,身边不少人都在使用OPPO手机。那么在OPPO手机上怎么录音呢?OPPO手机录音的操作方法有哪些? 其实,OPPO手机有内置的录音应用,在手机桌面的【工具】文件夹里找到录音应用,打开之…

手机的耳机插电脑上可以录音吗 怎么录音

为了不打扰到周围的人,很多人在听歌的时候往往会将耳机插到电脑上,但是又想将好听的影视剧背景音乐录制下来,这时候就不知道怎么录制了,今天统一说一下遇到这样的情况怎么将声音录制下来。 1、需要迅捷音频录制工具的辅助&#xf…

android相册在哪个文件夹里,手机相册在哪个文件夹?

原创手机相册在哪个文件夹? 编辑:小鑫 来源:PC下载网时间:2018-05-17 14:10:51 安卓手机的相册在哪个文件夹中?小编今天就来教大家如何找到安卓手机中存储的照片文件。 方法步骤 1.在生活中我们经常会使用手机拍摄一些照片,通过数据线连接电脑…

Recorder开启手机录音功能并将录音保存本地

这个功能很简单其实,使用vue-Recorder插件就可以实现,但是如果我们只想要在某一页面中使用,不需要部署至全局的话,可以不通过package打包,只需要在cdn中引入recorder插件(这里需要注意版本)。 …

录音文件下载_手机内存不足,赶紧清理这几个文件夹,你还不知道这些都能删吗?...

你有自己动手清理过手机里的文件吗?明明没有手机下载多少东西,不知道为啥手机总是隔三差五的提醒“内存空间不足,可能会影响使用”……可是打开手机的文件管理器一看,这些文件夹都是英文命名的,看不懂也不敢乱清。小编…