电脑技术学习

对话 UNIX,第 6 部分: 通过脚本实现操作的自动化

dn001

  下面是简介:

  如果您曾经在资深 Unix® 用户工作时站在他的背后注视屏幕,可能会对命令行上不断滚动的咒语般的奇怪内容感到相当迷惑。如果您阅读过对话 UNIX 系列中以前的文章(请参见参考资料),那么至少所输入的某些诗一般的神秘内容——如波形符 (~)、管道 (|)、变量和重定向(< 和 >)——看起来是熟悉的。您也许还会认出某些 UNIX 命令名称和组合,或者了解何时使用别名来作为某个命令组合的简写形式。

  尽管如此,还有其他命令组合可能是您无法理解的,因为资深的 UNIX 用户通常以 Shell 脚本 的形式收集一大堆小的、高度专门化的命令组合,以简化或自动化经常重复的任务。与输入或重新输入(可能)复杂的命令来完成某个繁琐任务不同,Shell 脚本可以自动化该工作。

  在对话 UNIX 系列(请参见参考资料)的第 6 部分中,您将学习如何编写 Shell 脚本和更多命令行诀窍。

  核心就是一个词:“自动化

  有些 Shell 脚本完全就是反复运行同样的命令,并处理同样的一组文件。例如,将您的整个主目录内容传播到三台远程计算机的 Z Shell 脚本可以像清单 1 一样简单。

  清单 1. 跨多台计算机同步主目录的简单 Shell 脚本

#! /bin/zsh
for each Machine (groucho chico harpo)
  rsync -e ssh --times --perms --recursive --delete $HOME $machine:
end

  若要将清单 1 用作 Shell 脚本,可以将上述内容保存到某个文件——例如 simpleprop.zsh——并运行 chmod +x simpleprop.zsh 以使该文件成为可执行文件。您可以通过输入 ./simpleprop.zsh 来运行该脚本。

  如果您想查看 Z Shell 如何展开每个命令,可以将 -x 选项添加到脚本的 #!(# 号-感叹号对通常称为 shuh-bang)行的结尾,如下所示:

标签: