• 本页内容

76. exit 语句


exit 语句使脚本立即停止执行当前命令,并忽略输入文件中的剩余行。 强调「关键字」

exit 接受任何整数作为参数,该参数将作为 awk 进程的退出状态代码。如果未提供参数,退出将返回状态 0。

以下 awk 脚本在第五次迭代期间退出。 由于 print 语句位于 exit 语句之后,因此 x 的值仅打印到 4,一旦达到 5 awk 就退出。

$ awk 'BEGIN{
x=1;
while(x<=10)
{
if(x==5){
exit;}
print "Value of x",x;x++;
}
}' 

上述命令产生以下输出。

Value of x 1
Value of x 2
Value of x 3
Value of x 4

以下示例打印第一个没有售出商品的月份的商品编号。 这与 break.awk 示例类似,不同之处在于它在发现某个商品没有销售的月份时退出,而不是继续查看其他商品。

$ cat exit.awk
{
    i=2; total=0;
    while (i++ <= NF)
    if ($i == 0) {
        print "Item", $1, "had a month with no item sold"
        exit;
    }
}

$ awk -f exit.awk items-sold.txt
Item 102 had a month with no item sold

注意:商品 104 也有一个月没有售出商品。但是,上面没有显示,因为我们在 while 循环中使用了 exit