tcsh/csh 中的在线 if 语句

Online if statement in tcsh/csh

我正在处理 tcsh,并尝试执行 if then else endif 语句来检查前一个命令的 $?。但是我得到 "if: Empty if."

dude >ps -p $$                                                                                                  PID TTY          TIME CMD
32 pts/82   00:00:00 tcsh
dude >if ( "$?" == "0" ) ; then echo "good" ; endif
if: Empty if.

即我想执行以下操作:

>if ( "$?" == "0" ) then ; echo "good" ; else ; echo "bad" ; endif

您正在尝试对 tcsh 使用 bash 语法 - 它应该是:

if ( "$?" == "0" ) then
   echo "good"
else
   echo "bad"
endif

请注意 then 之前没有 ;(就像 bash 中那样)。