Csh

為什麼在csh螢幕上會顯示“0.0u 0.0s 0:00.00 0.0% 0+0k 0+0io 0pf+0w”

  • August 27, 2018

朋友們,我不知道為什麼當我執行一些 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}'`

終端的標準輸出如下:

終端的標準輸出如下:

在您的 C shell 腳本中的某處,您假設您可以time為自己的目的使用一個名為腳本變數的變數。不是這種情況。該變數具有特殊的語義,如 C shell 手冊中所述。使用它,就好像它是一個你可以使用的任意變數,你可能會觸發那些副作用,這正是你所看到的。

引用自:https://unix.stackexchange.com/questions/451533