1700436155
1700436156
1700436157
1700436158
1700436159
1700436160
如果它被设计为写到标准输出(同样,默认为终端),也可以被引导写入输出文件,如下所示:
1700436161
1700436162
$ program >outfile
1700436163
1700436164
1700436165
1700436166
1700436167
1700436168
如果目标文件尚不存在,就会被创建。与上述文件名扩展一样,程序不知道它的输入或输出被重定向。这是一种统一机制,由shell应用,而不是由单独的程序应用,并且比通过文件名参数指定文件输入和输出的方法更容易使用。以下是指定参数的方法示例:
1700436169
1700436170
$ program in=infile out=outfile
1700436171
1700436172
1700436173
1700436174
1700436175
1700436176
shell脚本(shell script)是存储在文件中的一系列命令。用该文件作为输入源,运行shell实例,如同直接输入命令一样运行脚本中的命令:
1700436177
1700436178
$ sh
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
[
上一页 ]
[ :1.700436145e+09 ]
[
下一页 ]