朋友们,我不知道为什么当我运行一些 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 手册中所述。使用它就好像它是一个您可以使用的任意变量一样,您可能会触发这些副作用,这正是您所看到的。