我想编写一个带有多个输入框的 GUI 的 shell 脚本文件,供用户输入。我已经试过了zenity。任何想法或建议将不胜感激。
Sab*_*con 13
Yad 在这方面可能很有用,它是 zenity 的一个分支,具有更多功能,其中之一是创建表单的能力。
这是一个非常简单的表单示例:
#!/bin/bash
frmdata=$(yad --title "Test Form" --form --field "Address" --field="Name")
frmaddr=$(echo $frmdata | awk 'BEGIN {FS="|" } { print $1 }')
frmname=$(echo $frmdata | awk 'BEGIN {FS="|" } { print $2 }')
echo $frmaddr > test.txt
echo $frmname >> test.txt
Run Code Online (Sandbox Code Playgroud)
上面的脚本将显示这样的表单:

输入数据并单击确定或按键盘上的 Enter 后,表单数据将写入名为 test.txt 的文本文件,我使用 awk 分隔表单数据,该数据是一个以管道作为字段分隔符的字符串,我相信有一种不用awk的直接获取数据的方法,但我不是yad专家,请查看项目主页并提出问题,您可能会找到更优雅的方法。
如何在此处获取和安装 yad:
http://www.webupd8.org/2010/12/yad-zenity-on-steroids-display.html
yad项目之家:
更多例子在这里:
http://technostripe.com/yad-a-fork-of-zenity-with-more-features/
http://code.google.com/p/yad/wiki/Examples
我来晚了,但这可能仍然有帮助。