Bash:重定向标准错误隐藏读取命令的提示

问题描述 投票:0回答:1

在 bash 脚本中,我将标准错误重定向到红色的标准输出,如下所示:

exec 2> >(sed $'s,.*,\e[38;5;9;82m&\e[m,'>&1)
然而,这隐藏了读取的提示文本:
read -p "prompt text " -n 1 -r
如何显示提示文字(也可能是红色)?

如果没有重定向,阅读将按预期进行。

bash
1个回答
0
投票

这应该有效:

#!/bin/bash

exec 2> >(sed $'s,.*,\e[38;5;9;82m&\e[m,'>&1)

date >&2

read -p "prompt text " -n 1 -r 2>/dev/tty
© www.soinside.com 2019 - 2024. All rights reserved.