Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
设置标志的Cshell脚本_Shell - Fatal编程技术网

设置标志的Cshell脚本

设置标志的Cshell脚本,shell,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 e

目前,我正在我的脚本中执行此操作

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语句并让我知道哪个if语句也有问题。。非常感谢。有人请帮我做这个。。我不熟悉这一点

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

$flag && exit 1
试试这个

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


我希望这能有所帮助。

Thanx谢谢你的帮助,但我是新手,你能告诉我如何更改现有线路以实现这一点。。谢谢你能帮我一下吗我只是被困在这里了。。我这样做“设置标志if($notLoaded1>0)然后回显”由于第一次加载中的数据错误而未加载的行:$notLoaded1“$flag&&exit 0 endif($notLoaded2>0),然后回显“由于第二次加载中的数据错误而未加载的行:$notLoaded2”$flag&&exit 0 endif($notLoaded3>0),然后回显”“由于第三次加载中的数据错误而未加载行:$notLoaded3”$flag&&exit 0 endif'我还需要做什么