前面介绍了linux的基础知识,接下来我们来了解shell。shell是一款使用c语言开发的程序,它作为用户与unix或linux操作系统之间的交互接口,绝大多数日常操作都依赖于它完成。它不仅是一个命令行解释器,还是一种功能完备的脚本编程语言。在命令执行层面,shell能够逐条接收并解析用户输入的指令,实现人机交互;在编程层面,它支持变量声明、参数传递,并提供了类似高级编程语言的流程控制机制,例如条件判断(if/else)、循环(for/while)以及分支跳转(case),从而允许用户编写自动化脚本来处理重复性或复杂的系统任务,显著提升运维效率和管理灵活性。
1、 编程入门时,输出“Hello World!”几乎是所有初学者的第一个实践项目。现在我们同样从Shell脚本入手,让程序在终端中打印这句经典问候语,正式踏上Shell编程之路。

2、 使用vim编辑器新建一个文本文件,命名为test.sh。后缀.sh虽非运行必需,但用于标识该文件为Shell脚本,便于识别和管理;命名可自由选择,此处以test.sh为例。

3、 输入对应代码内容,并保存退出。
4、 #! 是Shebang标记,用于声明脚本应由哪个解释器执行,即指定底层使用的Shell类型;echo 命令则负责将指定字符串输出至当前终端。

5、 执行脚本前,必须先为其添加可执行权限。
6、 成功赋予执行权限后,文件名通常会以绿色高亮显示(具体颜色取决于终端配色方案)。

7、 可通过相对路径方式直接运行脚本
8、 或者
9、 若test.sh位于/root目录下,也可通过完整路径 /root/test.sh 来调用执行。
10、 运行脚本时必须采用 ./test.sh 或 /root/test.sh 等显式路径形式,而不能仅输入 test.sh。这是因为Linux系统在执行命令时,默认只在环境变量PATH所定义的目录(如 /bin、/sbin、/usr/bin、/usr/sbin 等)中搜索可执行文件,而当前工作目录一般未被包含在PATH中。因此,若仅键入 test.sh,系统无法定位该文件,将提示“command not found”。而 ./test.sh 中的 . 明确表示当前目录,/ 为路径分隔符,这样就能准确指引系统找到并运行目标脚本。这一规则同样适用于运行其他不在PATH中的二进制程序。

11、 此外,也可不依赖脚本自身的执行权限,直接使用 sh test.sh 的方式调用解释器运行。

12、 再来看一个稍复杂的例子:该脚本利用 read 命令从标准输入读取用户输入的内容,并将其赋值给变量 name,最后通过 echo 将结果输出到终端。


















