假设我有以下脚本test.sh
:
#! /bin/sh -
printf '%s\n' "${1:?empty or missing argument}"
当不带任何命令行参数运行时,其行为如下:
$ ./test.sh
./test.sh: 2: ./test.sh: 1: empty or missing argument
问题:是否可以更改“./test.sh:2:”错误消息的一部分?
答案1
你的问题的答案是“不”;使用该语法应输出您所描述的脚本、行号和引用标准错误的变量。如果您想改变这一点,请将标准错误通过管道传输到一个进程中,以在脚本中将其转换为您想要的格式,该脚本本身运行输出错误消息的脚本。