【问题标题】:Quitting the menu on RETURN with the PS3 prompt in bash在 bash 中使用 PS3 提示退出 RETURN 菜单
【发布时间】:2014-01-05 10:20:22
【问题描述】:

我正在为我的终端制作一个菜单,这样当我打开它时,它会显示一组我可以去的位置。

它工作正常,但我想添加一些额外的东西。

这是我的代码

PS3="
Choose: "
select option in Tweaks Desktop "/" "~"
do
    case $option in
        Tweaks) cd "/Users/jontelang/Dropbox/Tweaks/"; break;;
        Desktop) cd "/Users/jontelang/Desktop"; break;;
        \/) cd "/"; break;;
        \~) break;;
     esac
done

它给了我这个输出:

1) Tweaks
2) Desktop
3) /
4) ~

Choose: 

当我按下 RETURN 时,它只会再次显示菜单,我想让菜单在按下 RETURN 时简单地消失。有人知道怎么做吗?

我尝试添加*)#?) 以及内部带有break;; 但没有骰子的变体。如果我输入 SPACE 然后 RETURN 它会起作用,但这是我想要避免的(2 次击键与 1 次击键)。

我也想知道是否有某种方法可以让我按下键 (1-4) 而不必在之后按 RETURN。

【问题讨论】:

    标签: bash menu prompt ps3


    【解决方案1】:

    好吧,我跳过了整个 PS3 的内容,只使用了 read 和一些简单的回声。我会将此作为答案,但如果有人对实际问题提出明确的答案,我会将其设置为答案。

    echo "1) Desktop";
    echo "2) Tweaks";
    echo "3) /";
    echo "4) ~";
    
    read -p "Choose: " -n 1 -r
    case $REPLY in
     1) cd ~/Desktop; echo " ";;
     2) cd ~/Dropbox/Tweaks; echo " ";;
     3) cd /; echo " ";;
     *) cd ~ ;;
    esac
    

    每个cd 后面的回声只是换行符,个人喜好。

    【讨论】:

      猜你喜欢
      • 2010-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-27
      • 2020-02-20
      • 1970-01-01
      • 1970-01-01
      • 2018-09-20
      相关资源
      最近更新 更多