想象指挥线类似:
my-script -foo $(no-such-cmd)
<代码>(无此类编码)代码>将造成错误,但我无法找到办法让文字了解这个问题。
This is part of a problem I came across when trying to process arguments from a file. I was reading a file line by line and trying to detect errors.
这里就是一个例子。 我在一份档案中以两条预设线标示。
function err_handler
{
ehs=1
echo "bad thing happened"
}
function fxn
{
echo fxn "$@"
return 0
}
function doit
{
ehs=0
trap err_handler ERR
eval fxn "$@"
eval_status=$?
trap "" ERR
echo ehs $ehs ev $eval_status
}
line= -x good
doit $line
line= -x $(no-such-cmd)
doit $line
产出:
> ./line.sh
fxn -x good
ehs 0 ev 0
./line.sh: line 17: no-such-cmd: command not found
fxn -x
ehs 0 ev 0
notice how the error message shows up but the trap didn t trigger nor did the exit status reflect it.
================================================================================================================================================================================================================================================================ 回答以下一些问题: ================================================================================================================================================================================================================================================================
@Barmar - 扩展工作是在需要做事之前进行的,但因做事。 错误暴露出来。 我可以在我的实际法典中加入这一法典。
@user1934428 - Im想要从档案中一米阅读的转换中发现任何错误。 这一美元(未如此之四)只是显示难以赶走的一种方式。
@charles duffy - I m不试图将代码放在变数中,I m读转换成从档案中指挥。
@Willian Pursell——我没有掌握投入。 我需要依靠用户正确引用这些动力。