4

bash 函数的返回值是最后执行命令的状态吗?

我写了这个测试,看起来就是这样。我只是想验证一下。显然之前没有人问过这个问题,教程也没有提到这一点。

测试程序:

funa() {
  echo "in funa";
  true;
};

funb() {
  echo "in funb"
  false;
};

funa && echo "funa is true";    
funb && echo "funb is true";

运行程序时的输出:

in funa
funa is true
in funb

有人知道答案吗?

4

2 回答 2

7

是的。每man bash

Shell 函数定义

执行时,函数的退出状态是在主体中执行的最后一个命令的退出状态。(见下面的功能。)

于 2012-08-28T01:14:24.073 回答
4

您是否尝试阅读手册页?它在里面。

执行时,函数的退出状态是在主体中执行的最后一个命令的退出状态。(见下面的功能。)

于 2012-08-28T01:14:54.890 回答