我很难将一些基于 zenity 的脚本转换为使用鞭尾。
工作脚本看起来像这样:
#!/bin/bash
xfreerdp /v:farm.company.com \
/d:company.com \
/u:$(zenity \
--entry \
--title="Username" \
--text="Enter your Username")
我正在尝试将其转换为使用鞭尾,但始终出现空白屏幕。
这是我到目前为止所拥有的:
#!/bin/bash
xfreerdp /v:farm.company.com \
/d:company.com \
/u:$(whiptail \
--inputbox "Username" 10 30)
我究竟做错了什么?
答案1
您看不到输入框的原因是因为whiptail
将显示写入您正在捕获的标准输出。输入的结果被写入 stderr,但您没有捕获它。为了使其工作,您需要命令替换来捕获stderr
,而不是stdout
。您可以通过重定向来做到这一点:
#!/bin/bash
xfreerdp /v:farm.company.com \
/d:company.com \
/u:$(whiptail \
--inputbox "Username" 10 30 3>&1 1>&2 2>&3)