Linux 对话框输入框问题

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

我的对话框中的输入框有问题。它覆盖了按下回车键时输入的文本。当按下 Enter 键时,无论光标焦点在哪里,都会发生这种情况。

这是我使用的代码是bash

OUTPUT="INPUT.txt"
>$OUTPUT

dialog --stdout --title "Client Name" \
--backtitle "Setup" \
--inputbox "Enter The Client Name" 0 0 2>$OUTPUT
CLIENTNAME=$(<$OUTPUT)
rm $OUTPUT

enter image description here

linux bash dialog ncurses
2个回答
2
投票

您正在使用

--stdout
选项,但重定向 STDERR 而不是 STDOUT

改变

--inputbox "Enter The Client Name" 0 0 2>$OUTPUT

--inputbox "Enter The Client Name" 0 0 >$OUTPUT

使用

--stdout
时可以解决这个问题。


0
投票

在网络搜索时找到了这个条目,只是想补充一点,使用

dialog
时不需要临时文件和重定向,您可以使用选项
--output-fd 1
直接将文本框输入存储到变量中:

#!/bin/bash

Client_Name="$(

   dialog                                             \
      --output-fd "1"                                 \
      --title     "Client Name"                       \
      --backtitle "Setup"                             \
      --inputbox  "Enter The Client Name" "0" "0"

)"

echo "Hello, $Client_Name."
© www.soinside.com 2019 - 2024. All rights reserved.