我正在为我的终端制作一个菜单,这样当我打开它时,它会向我显示一组位置供我使用。
它工作正常,但我想添加一些额外的东西。
这是我的代码
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然后返回,它会起作用,但这是我想要避免的(2次击键与1次)。
我还想知道是否有办法让我按下按键(1-4),而不必在按下后按RETURN。
答案 0 :(得分:0)
好吧,我跳过整个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
之后的回音仅用于换行,个人偏好。