我正在尝试创建一个带有 GUI 的非常简单的 bash 脚本。我希望它能弹出一个对话框,用户可以在其中使用箭头键选择一个功能,它会完成该功能然后返回菜单。
我开始使用对话框,因为它可以轻松列出选项,但是一旦 1 个操作完成,脚本总会结束。
以下是我目前所拥有的:
dialog --menu "Task to perform" 10 30 3 1 This 2 That Office 3 Exit
有人能告诉我返回菜单的方法吗?(或者另一种方法!)
答案1
您不需要3 Exit
选项,因为dialog
已经生成了“取消”按钮。您可以循环显示对话框,直到用户按下取消按钮:
(注:我的部分代码示例取自这个答案)
#!/bin/bash
#we start the loop....
while [[ "$dialog_exit" -ne 1 ]]; do
#we force the redirection of the output to the file descriptor n°1 with the --fd-output 1 option
dialog_result=$(dialog --clear --menu "Task to perform" 10 30 3 1 "This task" 2 "That task" 3 "Yet another task" --fd-output 1);
#we store the exit code. If the user pressed cancel, exit code is 1. Else, it is 0.
dialog_exit=$?;
case "$dialog_result" in
1) echo "task 1";;
2) echo "task 2";;
3) echo "task 3";;
"") echo "action when cancel";;
esac
done