JoB*_*oBe 3 gui shell-script user-input nemo
我目前正在用 bash 编写一个 nemo 动作脚本,我需要一种方法来从用户那里获取输入。
怎么办?,运行动作脚本时终端不显示。
反正有没有在GUI中弹出一个查询窗口来询问用户输入?
dialog
(在几乎每个发行版上它已经默认安装)。dialog --inputbox "Please input something" 0 0 2> /tmp/file_that_will_contain_your_input
Run Code Online (Sandbox Code Playgroud)
xdialog
几乎与 of 相同dialog
。因此,如果您将 ax
放在上面的示例前面,它将完全相同,但使用 X11 窗口代替。再次,查看联机帮助页以获取更多信息。Zenity 是一个很好的工具。
user_input=$(zenity --entry)
Run Code Online (Sandbox Code Playgroud)
user_input
无论用户在 GUI 窗口中键入什么,这都会分配给变量,除非用户按下取消键,在这种情况下退出代码不为零。
user_input=$(zenity --entry)
if [ $? = 0 ]; then
echo "User has pressed OK. The input was:"
echo "$user_input"
else
echo "User has pressed cancel"
fi
Run Code Online (Sandbox Code Playgroud)
Gxmessage 是另一种选择,具有非常相似的语法。
user_input=$(gxmessage --entry "Enter your input")
Run Code Online (Sandbox Code Playgroud)
更多信息man zenity
和man gxmessage
。
归档时间: |
|
查看次数: |
1359 次 |
最近记录: |