保存返回代码并以bash形式返回

Bet*_*sta 7 bash

我想在bash中这样做

#!/bin/bash

func(){
    return 1;
}

e=func
echo some text
exit e
Run Code Online (Sandbox Code Playgroud)

但我得到了

exit: func: numeric argument required
Run Code Online (Sandbox Code Playgroud)

bash中的AFAIK变量没有类型,如何将其"转换"为int以满足需求?

fge*_*fge 14

您需要$在变量前面添加一个"取消引用"它.此外,你必须这样做:

func
e=$?
# some commands
exit $e
Run Code Online (Sandbox Code Playgroud)

$? 包含上次执行的"命令"的返回码

e=func套字符串func变量e.