bash - 在 bash 脚本中:如何向(人类)用户发出错误触发过早退出的信号?
问题描述
在bash
脚本中,如何通过某种自定义消息向(调用 bash 脚本的人类)用户发出提前退出错误被触发的信号?
我想发送一个明确的失败消息,例如
! ** !
Oops, something went wrong.
This script did NOT successfully finish.
! ** !
以便用户理解脚本没有成功完成。(有时这一点不清楚,用户错误地认为脚本已成功完成。)
解决方案
您应该使用它而不是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
推荐阅读
- javascript - 无法解决承诺
- mysql - Mysql For Excel:没有连接显示
- python - Django 在网格行中显示有限的图像
- c# - 使用 Angular 时,无法使用默认路径加载 aspnet.core 服务器路由
- windows - 重定向两个命令的输出
- reactjs - 将 props 传递给 React Router 的 Link 组件
- r - GA 包中未使用的参数
- python - Tensorflow 错误“无法为张量“输入:0”提供形状 (4, 1) 的值,其形状为“(?, 2)”
- android - 多个dex文件定义Lcom/google/android/gms/auth/api/signin/zzc;
- c - C使用指向结构的指针的指针