为什么 csh 屏幕上会显示“0.0u 0.0s 0:00.00 0.0% 0+0k 0+0io 0pf+0w”

为什么 csh 屏幕上会显示“0.0u 0.0s 0:00.00 0.0% 0+0k 0+0io 0pf+0w”

朋友们,我不知道为什么当我运行一些 C shell 脚本时会显示“0.0u 0.0s 0:00.00 0.0% 0+0k 0+0io 0pf+0w”(以及许多这样的行),但当其他一些脚本时则不会显示跑步。而且我以前从未遇到过这个问题,这不会影响我的程序结果。

经过我的调试和搜索,我认为以下代码存在一些问题,但我不知道潜在的问题到底是什么。

set time = `saclst KZDATE f $file61 | awk '{print $2}'`

set yea61 = `echo "$time" | awk 'BEGIN {FS="/"} {print $1}'`

set mon61 = `echo "$time" | awk 'BEGIN {FS="/"} {print $2}'`

set day61 = `echo "$time" | awk 'BEGIN {FS="/"} {print $3}'`

set time = `saclst KZTIME f $file61 | awk '{print $2}'`

set hou61 = `echo "$time" | awk 'BEGIN {FS=":"} {print $1}'`

set min61 = `echo "$time" | awk 'BEGIN {FS=":"} {print $2}'`

set sec61 = `echo "$time" | awk 'BEGIN {FS=":"} {printf "%5.2f", $3}'`

终端的标准输出如下:

终端的标准输出如下:

答案1

在 C shell 脚本中的某个位置,您假设您可以time出于自己的目的使用名为脚本变量的变量。不是这种情况。该变量具有特殊语义,如 C shell 手册中所述。使用它就好像它是一个您可以使用的任意变量一样,您可能会触发这些副作用,这正是您所看到的。

相关内容