首页 > 解决方案 > 在 bash 脚本中:如何向(人类)用户发出错误触发过早退出的信号?

问题描述

bash脚本中,如何通过某种自定义消息向(调用 bash 脚本的人类)用户发出提前退出错误被触发的信号?

我想发送一个明确的失败消息,例如

! ** !

Oops, something went wrong.
This script did NOT successfully finish.

! ** !

以便用户理解脚本没有成功完成。(有时这一点不清楚,用户错误地认为脚本已成功完成。)

标签: basherror-handling

解决方案


您应该使用它而不是set -e

#!/usr/bin/env bash

trap 'cat<<EOF >&2
! ** !

Oops, something went wrong.
This script did NOT successfully finish.

! ** !
EOF
    exit 1' ERR

[...] # code

推荐阅读