Shell基础学习---3、Read读取控制台输入、函数、正则表达式入门

简介: Shell基础学习---3、Read读取控制台输入、函数、正则表达式入门

1、Read读取控制台输入

1、基本语法

read (选项) (参数)

选项 说明
-p 指定读取值的提示符
-t 指定读取值等待的时间(秒) 如果-t不加表示一直等待


参数 说明
变量 指定读取值的变量名

2、案例实操

73016b12fb994955bf675795cddf6812.png

2、函数

2.1 系统函数

2.1.1 basename
1、基本语法
  basename [string /pathname] [suffix]  (basename命令会删掉所有的前缀包括最后一个(‘/’)字符,然后将字符串显示出来)。
  basename可以理解为取路径里的文件名称。
  选项:
  suffix为后缀,如果suffix被指定了,basename会将pathname或string中的suffix去掉。
2、案例实操

a30989eeb7d24052828be3e40263b0dc.png

2.1.2 dirname

1、基本语法

dirname 文件绝对路径 (从给定的包含绝对路径的文件名(非目录部分),然后返回剩下的路径(目录的部分))

dirname 可以理解为取文件路径的绝对路径名称

2、案例实操

8440cdac19654db59683d2a0fe64c3aa.png

2.2 自定义函数

1、基本语法

[ function ] funname[()]
{ 
  Action;
  [return int;]
}

2、经验技巧

(1)必须在调用函数地方之前,先声明函数,shell脚本时逐行运行。不会像其他语言一样先编译。

(2)函数返回值,只能通过$?系统变量获得,可以显示加:Return 返回,如果不加,将以最后一条命令运行结果作为返回值。return 后跟数值n(0-255)

3、案例实操

db254352adc64600b411e7e35a4a9da5.png

3、正则表达式入门

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

3.1 常规匹配

一串不包含特殊字符的正则表达式匹配它自己

9ca684eb141744c1b806a24f4a065694.png

3.2 常用特殊字符

1、特殊字符 ^
  匹配一行的开头

a2caef88c3a94d539dc87736233d35e7.png

2、特殊字符 $

匹配一行的结尾

2731858b32ee4105a94156f56e99861e.png

3、特殊字符 .

匹配一个任意字符

41f4713870434665a5f673bc7b6c468a.png

4、特殊字符 *

*不会单独使用,它和上一个字符连用,表示匹配上一个字符0次或多次

2d2cf7475bed4b50ba6050a6ce2f53a4.png

有意思的结果

321d427301e04c5f82fc0c0824272070.png

a1b1b788d9c64de39769e82640096b47.png

5、字符区间(中括号): [ ]

[ ] 表示匹配某个范围内的一个字符

[6,8] 匹配6或8

[0-9]匹配一个0-9的数字

[0-9]* 匹配任意长度的数字字符串

[a-z] 匹配一个a-z之间的字符

[a-z]*匹配任意长度的怎么字符串

[a-c,e-f] 匹配a-c或者e-f之间的任意字符

3239dcab973f482a963c8546e8591368.png

6、特殊字符

\表示转义,并不会单独使用。由于所有特殊字符都会有其特点匹配模式,当我们想匹配某一个特殊字符串本身时,就会碰到困难。此时我们要将转义字符和特殊字符连用,来表示特殊字符本身。

c8a7ced177ca41ba87a022e404e1beca.png

注意:要使用单引号将表达式引起来(前后都要)

相关文章
|
4月前
|
Shell Linux Windows
让我们熟悉一下 shell 正则表达式使用
正则表达式是一种文本处理工具,用于匹配、查找、替换或提取字符串中的特定模式。通过普通字符和特殊字符(元字符)组成,定义匹配规则。本文档通过示例展示了如何使用正则表达式进行字符串搜索、过滤和模式匹配,包括基本匹配、行首行尾定位、字符集使用、任意字符与重复字符处理以及限定重复次数等高级功能。
88 7
|
5月前
|
Shell Linux C语言
Shell 函数
10月更文挑战第4天
42 7
|
5月前
|
监控 Unix Shell
shell脚本编程学习
【10月更文挑战第1天】shell脚本编程
116 12
|
7月前
|
Unix Shell Python
在Shell中转换Python正则表达式
结合以上提到的注意事项与差异点,就能在Shell环境中巧妙地转换并使用Python正则表达式了。务实和节省时间的做法是,将一些常见Python正则模式记在手边,随时查阅并对照POSIX标准进行调整。同时,借助在线正则表达式测试器和文档也能有效地提升在Shell环境中处理正则表达式的能力。
74 5
|
7月前
|
Shell Linux 程序员
在Linux中, 什么是shell函数?如何使用它们?
在Linux中, 什么是shell函数?如何使用它们?
|
8月前
|
Shell Linux
Shell 脚本编程学习
Shell 脚本编程学习
53 0
|
9月前
|
Shell 开发者
Shell 函数深入解析与实践
了解 Shell 函数的基础,包括定义、参数传递及返回值。函数定义有多种语法,如 `function func() {...}` 或 `func() {...}`。参数通过 `$1`, `$2` 等访问,`$@` 代表所有参数。`return` 用于返回退出状态码(0-255),非数值数据需用 `echo`。正确获取函数返回值应立即检查 `$?`,例如:`result=$?`。实践中不断探索和学习!
57 1
|
10月前
|
存储 算法 安全
shell 脚本之 函数与数组
shell 脚本之 函数与数组
|
9月前
|
人工智能 运维 中间件
Linux-shell简单学习
Linux-shell简单学习
53 0
|
9月前
|
Python
python正则表达式入门
python正则表达式入门