Linux $? shell脚本
我试图弄清楚这意味着什么/如何在linux中填充Linux $? shell脚本,linux,shell,Linux,Shell,我试图弄清楚这意味着什么/如何在linux中填充$?,我尝试过进行搜索,但如果有人能澄清这一点,那就太好了: exitstat=$? if [ $exitstat -ne 0 ] then echo -e "Could Not Extract" echo -e "Aborting Script `date`" exit $exitstat fi 上面的代码是: _xfile << %% 2> /files/thefile-7000.log |
$?
,我尝试过进行搜索,但如果有人能澄清这一点,那就太好了:
exitstat=$?
if [ $exitstat -ne 0 ]
then
echo -e "Could Not Extract"
echo -e "Aborting Script `date`"
exit $exitstat
fi
上面的代码是:
_xfile << %% 2> /files/thefile-7000.log | _afile -x -r 10 2> /files/thefile-7000.log > /files/thefile.7000
OperatorHigh = $finalnumber
%%
\u xfile/files/thefile-7000.log\u afile-x-r 102>/files/thefile-7000.log>/files/thefile.7000
运算符高=$finalnumber
%%
$?
扩展到最新前台命令的退出状态
由于之前的命令是管道,因此退出状态是管道中最后一个命令的状态——在本例中为
\u afile
--,除非设置了pipefail
shell选项,在这种情况下,管道中其他地方的故障也会使退出状态变为非零。$?
扩展到最近的前台命令的退出状态
由于之前的命令是管道,因此退出状态是管道中最后一个命令的状态——在本例中,除非设置了
pipefail
shell选项,否则退出状态为管道中最后一个命令的状态。在这种情况下,管道中其他地方的故障也会使退出状态变为非零。显示退出状态(成功时为0,失败时为正整数至127)最后一条命令OK上面的命令,我明白了。顺便说一句,你可能不希望多个独立的重定向写入同一个文件,除非在追加模式下这样做。这会给意外的后果留下很大的空间。最好只打开一次FD,并在多个地方重用描述符,而不是单独打开几次。@CharlesDuffy不是我的脚本,但谢谢,我们遇到了随机错误的问题(这就是为什么我要研究它)。您能给我举个例子吗?谢谢!exec 2>/files/thefile-7000.log
只需在脚本顶部重定向一次,就可以重定向整个脚本的stderr。相反,exec 3>/files/thefile-7000.log
将重定向整个脚本的文件描述符3,然后您可以使用exec 2>&3
将stderr转到任何地方该位置,而不必担心不同的句柄相互踩踏。显示退出状态(如果成功,则为0,如果失败,则为正整数高达127)最后一条命令OK上面的命令,我明白了。顺便说一句,你可能不希望多个独立的重定向写入同一个文件,除非在追加模式下这样做。这会给意外的后果留下很大的空间。最好只打开一次FD,并在多个地方重用描述符,而不是单独打开几次。@CharlesDuffy不是我的脚本,但谢谢,我们遇到了随机错误的问题(这就是为什么我要研究它)。您能给我举个例子吗?谢谢!exec 2>/files/thefile-7000.log
只需在脚本顶部重定向一次,就可以重定向整个脚本的stderr。相反,exec 3>/files/thefile-7000.log
将重定向整个脚本的文件描述符3,然后您可以使用exec 2>&3
将stderr转到任何地方该位置,而不必担心不同的手柄相互踩踏。