gpt4 book ai didi

linux - 如何检查csh中错误代码的状态?

转载 作者:太空狗 更新时间:2023-10-29 12:15:58 26 4
gpt4 key购买 nike

这不是Perl题,这是csh题。

Linux RHEL 5.5.56 上的 Perl 5.8.8。

我有一个使用“exit 3;”的测试 Perl 程序设置退出状态。 Perl 程序是从我称为“测试”的 csh 脚本运行的。

Perl 程序:

#/usr/bin/perl
# July 11, 2014
# Test exit code with csh $status variable
my($i);
$i=3;
print "$0 Exit with error code $i\n";
exit $i;

调用 Perl 程序的“测试”csh 脚本:

#/bin/csh
# July 10, 2014,

perl tstatus.pl
echo "Status=$status"
if ($status > 0) then
echo "ERROR in status: $status"
endif

'echo "ERROR in status: $status"这一行永远不会执行,即使 'echo "Status=$status' 说状态是 3。

如何让我的 csh 检查并根据 $status 的值采取行动?$status 似乎是一个系统变量。

我也尝试过“if ($stats) then”,但这也不起作用。 csh 脚本中没有报告任何错误。

谢谢。

附注我不会在 csh 中做复杂的事情,所以我还没有准备好去 bash。我已经阅读了“为什么不使用 csh”文件。谢谢。

最佳答案

echo 命令成功,将 $status 重置为 0。因此 if 永远不会看到非零 $status

因此,解决方案是要么消除 echo 命令,要么在 perl 命令之后立即保存 $status 的值。

我最近遇到了a similar issue我自己。

关于linux - 如何检查csh中错误代码的状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24697322/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com