大家好!今天我们来简要了解一下shell基础知识。shell作为内核与用户之间的接口,充当命令解释器的角色,负责解释和执行用户输入的命令。简单来说,shell既是一个程序,也是一种脚本语言。
1、Shell介绍
1.1 概述
Shell位于内核与用户之间,充当命令解释器的角色,负责解释用户输入的命令。Shell是人机交互的桥梁,通过在终端输入Shell命令来控制Linux内核,从而操控系统硬件。

1.2 Shell的种类
代码语言:powershell
cat /etc/shells


终端可以被视为bash的接口,而bash是Shell的一种类型(bash Shell)。
2、Shell脚本
2.1 概述
1)什么是Shell脚本?
简单来说,Shell脚本是将需要执行的命令保存到文本文件中,并按顺序执行。由于Shell是解释型语言,因此无需编译。
总的来说,Shell脚本由若干命令、脚本的基本格式、特定语法以及编写思想构成。
2)什么时候使用脚本?
常见的应用场景包括自动化数据分析处理、自动化备份、自动化批量部署和安装等。
3)学习Shell的一些建议
对于初学者,建议在学习Shell时多看、多练、多思考,尽可能记忆更多的命令,掌握脚本的标准格式。学习Shell的一个关键点是熟悉并掌握脚本的基本语法。
2.2 脚本编写与执行
1)脚本基本写法
脚本的第一行:
代码语言:powershell
#!/bin/bash
#!(魔法字符)指定脚本代码执行的程序,告诉系统该脚本需要哪个解释器来执行,即使用哪种Shell。
对脚本基本信息的描述(注释):
代码语言:powershell
# Name: 名字 # Desc: 描述describe # Path: 存放路径 # Usage: 用法 # Update: 更新时间
描述完成后,下面就是脚本的具体内容:
代码语言:powershell
commands...
例如:在根目录下创建一个名为shell01的目录,按照上述格式在该目录下编写一个名为shell1.sh的脚本。


编写完成后,保存并退出。
2)脚本执行方法:
标准脚本执行方法(建议):(魔法字符指定的程序会生效)
标准执行方式包括绝对路径执行和相对路径执行。标准执行方式要求脚本必须具有可执行权限。
使用chmod +x增加权限:

总结(标准执行方法):
非标准的执行方法(不建议):(魔法字符指定的程序不会运作)
这种方式下脚本不需要有可执行权限。
代码语言:powershell
# 直接使用bash命令 bash shell1.sh # -x:查看执行过程,用于排错 bash -x shell1.sh # -n:查看脚本的语法是否有问题 bash -n shell1.sh

其他非标准方式:
代码语言:powershell
# 使用source source shell1.sh # 使用 . . shell1.sh
注意:source和.表示读取文件并执行文件中的命令。
3、Bash基本特性
3.1 命令和文件自动补全
使用Tab键可以补全命令和文件名。
3.2 常见快捷键
常见的快捷键总结如下,其中^表示Ctrl:
代码语言:powershell
^c 终止前台运行的程序 ^z 将前台运行的程序挂起到后台 ^d 退出 等价exit ^l 清屏 ^a |home 光标移到命令行的最前端 ^e |end 光标移到命令行的后端 ^u 删除光标前所有字符 ^k 删除光标后所有字符 ^r 搜索历史命令
3.3 常用通配符(重点)
常用通配符总结如下:
代码语言:powershell
*:匹配0或多个任意字符
?:匹配任意单个字符
[list]:匹配[list]中的任意单个字符
[!list]: 匹配除list中的任意单个字符
{string1,string2,...}:匹配string1,string2或更多字符串例如:在/tmp目录下创建如下文件并测试:
代码语言:powershell
# 创建文件
touch file{1..3}
touch file{1..3}.jpg
# 以file开头的文件
ls file*
# 以jpg结尾的文件
ls *.jpg
# 以file开头,且后一位为任意单个字符的文件
ll file?
# 以file开头、后一位为任意单个字符且以.jpg结尾的文件
ll file?.jpg
# 匹配file1、file2、file3
ll file[123].jpg
# 匹配file1、file3
ll file[0-13].jpg
# 匹配file1、file2、file3
ll file{1..3}.jpg

3.4 Bash中的引号(重点)
1)双引号"":会将引号内的内容视为整体,允许通过$符号引用其他变量值。
2)单引号'':会将引号内的内容视为整体,禁止引用其他变量值,Shell中的特殊符号都被视为普通字符。
3)反撇号:反撇号和$()功能相同,引号或括号内的命令会优先执行。如果存在嵌套,使用$(),反撇号不能使用。
代码语言:powershell
echo $(echo "`hostname`")

以上就是什么是Shell?怎么编写和执行Shell脚本?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号