bash:从函数返回退出代码并从她打印出来,但不是退出代码

时间:2014-08-23 15:32:35

标签: linux bash shell

我有这样的功能

function backup {
  do_backup
  printf "success"
  do_more_backup
  echo "success"
  if ... ; then
    echo 1
  else
    echo 0
  fi
}

我有一个类似的条件声明

if [[ ! $(backup) ]]; then
...

我无法将函数输出到shell中,但它正在评估所有命令 - 我已经在调试模式下检查过了。我想评估函数,所以它实现了她的目的,同时打印出一些日志消息,然后检查这个函数的退出代码,如果一切都成功的话。如何在bash中解决这个问题?以及如何避免在条件语句中打印掉最后一个echo,这是一个函数的状态或退出代码。

1 个答案:

答案 0 :(得分:3)

请使用return 1 return 0而不是echo