APUE第二版第197页上说“在解释器pathname后可跟随可选参数。如果一个解释器支持-f选项,那么在pathname后经常使用的就是-f。例如可以以下列方式执行awk(1)程序:
awk -f myfile
它告诉awk从文件myfile中读awk程序。
”
今天在cent-os下试验了一下,因为之前对这个myfile和里面的内容存在疑惑;
试验结果如下:
1、首先在桌面上使用touch myawk命令建立一个解释器文件,然后将使用chmod命令为该解释器文件增加可执行位;
2、然后在文件中添加内容如下:
BEGIN中是一个命令块;
3、这个解释器文件需要使用awk -f myawk进行运行,所以-f后表示加的是解释器脚本文件,运行结果如下:
而如果将文件中的内容改为:
则直接使用myawk(也可以使用./myawk)就可以直接运行(因为我们已经把当前路径加入到了环境变量),运行结果为:
也可以使用awk -f运行,结果为:
即如果解释器中没有加上#!/bin/awk -f,则只能使用awk -f myawk运行,若果加上了则myawk,./myawk和awk -f myawk都可以。