我正在尝试编写一个 shell 脚本,该脚本在命令失败时中止并显示有问题的行号。
set -e
trap 'echo "$0 FAILED at line ${LINENO}"' ERR
原来陷阱行不适用于 Ubuntu 的默认 shell 脚本解释器破折号。如果我将 shebang 线更改#!/bin/bash
为此工作,但不使用#!/bin/sh
. 有没有办法在不依赖 bash 存在的情况下完成这项工作?
顺便说一句,我从破折号得到的错误是:
trap: ERR: bad trap