标签: bash
我对此输出感到困惑:
$ readonly foo=`exit 1` $ echo $? 0 $ bar=`exit 1` $ echo $? 1
为什么readonly会有所作为?
readonly
答案 0 :(得分:5)
readonly是函数调用,在exit 1子shell完成后输入。
exit 1
您的脚本现在返回readonly的返回值。
保留返回码语义的单行可以是
foo=`exit 1` ; RC=$? ; readonly foo ; `exit $RC`