跳到主要内容

Linux Shell 脚本是什么

Shell 脚本就是把一组命令写进文件,让 Shell 按顺序执行。它特别适合把重复操作自动化。

在《Linux 基础教程》中,我们只做入门引导。等你熟悉基本概念后,可以继续阅读 Shell 教材 系统学习语法、函数、数组、文本处理和脚本工程实践。

为什么需要 Shell 脚本

如果你每天都要执行这些命令:

cd project
git pull
npm test

你可以把它们写成脚本:

#!/usr/bin/env bash

cd project
git pull
npm test

以后只需要运行脚本,就能自动完成这组操作。

Shell 脚本适合做什么

常见用途包括:

  • 批量处理文件。
  • 自动备份目录。
  • 检查服务状态。
  • 初始化开发环境。
  • 封装复杂命令。
  • 编写简单运维任务。

Shell 脚本的优势是调用系统命令方便;劣势是复杂数据结构和大型工程维护能力不如 Python、Ruby、Go 等语言。

shebang

脚本第一行常见写法是:

#!/usr/bin/env bash

这行叫 shebang,用来告诉系统使用哪个解释器执行脚本。

也可能看到:

#!/bin/sh

sh 通常表示 POSIX Shell,语法比 Bash 更通用,但功能也更少。初学阶段如果你使用 Bash 语法,就明确写 #!/usr/bin/env bash

脚本和交互命令的区别

你在终端里手动输入命令,是交互式使用 Shell。

把命令写进文件再执行,是脚本式使用 Shell。

二者使用同一个命令环境,但脚本更需要注意:

  • 当前工作目录是否正确。
  • 变量是否被正确引用。
  • 命令失败时是否需要停止。
  • 输入参数是否存在。
  • 输出和错误是否被记录。

什么时候不要用 Shell 脚本

Shell 脚本不是万能工具。下面情况更适合换语言:

  • 复杂 JSON、XML、CSV 处理。
  • 大量字符串和数据结构操作。
  • 需要跨平台运行。
  • 需要长期维护的大型程序。
  • 需要完善测试和模块化设计。

Shell 更像胶水:把已有命令粘起来,完成一件明确的自动化任务。

小结

你可以这样理解 Shell 脚本:

  • 它是命令的集合。
  • 它由 Shell 解释执行。
  • 它适合自动化重复操作。
  • 它不适合无限扩展成大型程序。

下一篇你会写第一个可执行 Shell 脚本。