1700436179
1700436180
1700436181
1700436182
1700436183
1700436184
脚本封装命令序列。例如,对于本书,我写了一系列简单的检查命令,查找拼写和标点符号错误、不正确的格式化命令和其他可能存在的失误。这些检查中的每一项都会运行一个程序。我可以一遍又一遍地重复输入这些命令,也可以把命令序列放在一个叫check的脚本文件中,运行check指令就能做检查。其他的脚本则能输出书页,还能做备份。
1700436185
1700436186
虽然这些脚本是专为我和这本书而编写,但它们实际上是一套新Unix命令。这类个人命令是shell脚本的常见用法,可以快速应用频繁的计算操作。我现在还在用一些三四十年前写的脚本,这在Unix的长期用户中一点也不稀奇。
1700436187
1700436188
使shell程序完全等同于编译后的程序的最后一步:如果文件被标记为可执行文件,它将被传递给shell执行。这样一来,shell脚本就成了“一等公民”,在执行时与编译后的程序没有区别:
1700436189
1700436190
$ check book.txt
1700436191
1700436192
1700436193
1700436194
1700436195
1700436196
shell脚本并不能取代编译后的程序,但它们是程序员工具箱的重要组成部分,既适用于个人,也适用于大型任务。如果你发现自己一遍又一遍地运行着同样的命令序列,那就把它们放到shell脚本中,从而将烦琐工作变得自动化。如果某个shell脚本太慢,可以用其他语言重写。到下一节探讨管道(pipe)技术时,我们将看到shell脚本的更多力量。
1700436197
1700436198
1700436199
1700436200
[
上一页 ]
[ :1.700436151e+09 ]
[
下一页 ]