C Shell脚本设置标志

时间:2011-07-21 14:00:19

标签: shell

目前我在我的剧本上这样做..

if($notLoaded1 > 0) then
  echo "Rows not loaded due to data errors: $notLoaded1"
  exit 1
endif

if($notLoaded2 > 0) then
  echo "Rows not loaded due to data errors: $notLoaded2"
  exit 1
endif

if($notLoaded3 > 0) then
  echo "Rows not loaded due to data errors: $notLoaded3"
  exit 1
endif

我如何设置一个标志,以便它不会在第一个if语句中退出,通过它们全部并让我知道其他if语句也有问题..谢谢..有人请帮助我这个..我是这个新手

2 个答案:

答案 0 :(得分:0)

为什么不简单地定义一个变量'flag'并使用&&如果您不想退出,则将运算符设置为0:

$flag && exit 1

答案 1 :(得分:0)

试试这个

set errorFlag=0
if ($notLoaded1 > 0) then
  echo "Rows not loaded due to data errors: $notLoaded1"
  set errorFlag=1
endif

if ($notLoaded2 > 0) then
  echo "Rows not loaded due to data errors: $notLoaded2"
  set errorFlag=1
endif

if ($notLoaded3 > 0) then
  echo "Rows not loaded due to data errors: $notLoaded3"
  set errorFlag=1
endif

if ($errorFlag != 0) then
  exit 1
endif

我现在无法访问csh环境,因此我无法对此进行测试。我对!=测试并不十分肯定,因此您也可以使用$errorFlag > 0

我希望这会有所帮助。