什么是 Shell 脚本?
Shell 脚本是在 Unix shell(一种命令行解释器)中运行的计算机程序中的一系列命令列表。Shell 脚本通常包含描述步骤的注释。Shell 脚本执行的不同操作包括程序执行、文件操作和文本打印。包装器也是一种 Shell 脚本,它创建程序环境、运行程序等。
Shell 的类型
Unix 中主要有两种类型的 Shell。它们是
Bourne Shell
这是版本 7 Unix 的默认 Shell。字符 $ 是 Bourne Shell 的默认提示符。此 Shell 中的不同子类别包括 Korn Shell、Bourne Again Shell、POSIX Shell 等。
C Shell
这是一个 Unix Shell 和命令处理器,在文本窗口中运行。字符 % 是 C Shell 的默认提示符。C Shell 还可以轻松读取文件命令,称为脚本。
Shell 脚本的功能
Shell 脚本的不同功能包括:
- 批处理作业
可以使用 Shell 脚本自动执行在命令行界面中手动输入的多个命令。这可以在无需用户单独触发每个命令的情况下完成。
- 编程
现代 Shell 脚本中有很多功能仅在复杂的编程语言中才能找到,例如数组、变量、注释等。可以使用这些功能在 Shell 脚本中编写许多复杂的应用程序。但存在一个问题,即 Shell 脚本语言不支持类、线程等。
- 泛化
在 Shell 脚本中使用循环、变量等执行多个任务更加灵活。一个例子是名为 bash 的 Unix Shell 脚本,它将 jpg 图像转换为 png 图像。
- 快捷方式
Shell 脚本为系统命令提供了一个快捷方式,其中应用了命令选项、环境设置或后处理。这仍然允许快捷方式脚本充当 Unix 命令。
Shell 脚本的优点
Shell 脚本的一些优点包括:
- Shell 脚本的命令和语法与在命令行中输入的命令和语法相同。因此,无需切换到完全不同的语法。
- 编写 Shell 脚本代码比其他编程语言快得多。这也意味着程序更容易创建,并且可以轻松选择所需的文件。
- Shell 脚本还可以用于为现有程序提供链接。
- 非专业用户也可以使用 Shell 脚本根据自己的需求修改和调整程序的行为。
Shell 脚本的缺点
Shell 脚本的一些缺点包括:
- Shell 脚本中可能存在一些错误,这些错误可能代价很高。
- Shell 脚本中的程序在执行时非常慢,并且每个执行的 Shell 命令都需要一个新进程。
- Shell 脚本中的不同平台也可能存在兼容性问题。
Shell 脚本示例
在此示例中,创建了一个脚本 demo.sh。脚本和命令如下所示:
#!/bin/bash gzip zip find echo
这里,
**gzip** 是一个创建、提取或查看 .gz 文件的命令,
**zip** 是一个用于创建或提取 zip 文件的命令,
**find** 是一个有助于搜索文件的命令,
**echo** 是一个显示一行文本的命令