Dialog 的--inputbox 选项执行以下操作:
退出时,输入字符串将打印在对话框的输出中。
但是如何将输入字符串与打印到标准输出的所有 ANSI 颜色代码分开呢?或者我可以告诉对话框以某种方式将输入字符串写入标准错误?
dialog
确实将输入的消息写入标准错误,因此您可以将其重定向如下:
ans=$(dialog --inputbox "hello" 5 30 2>&1 >/dev/tty)
这将使消息被命令替换捕获并存储在ans
. 虽然对话框显示在终端 ( /dev/tty
)