我有这个密码:
echo "Select"
select yn in "YES" "NO"; do
case $yn in
YES ) break;;
NO ) exit;;
esac
done
即时消息要做的是,询问用户一些事情(
select
),如果用户键入yes,则执行yes的操作(break
),如果用户键入no,则执行no的操作(exit
)我该怎么做?
最佳答案
我不知道你想达到什么目的,但是如果你想让菜单重复多次,去掉中断,这样它就会循环,如果你想让用户能够输入一个文本是,而不是数字1,并让它执行,你需要捕捉回复并考虑到这一点。
所以…要将这两者结合起来,请尝试以下脚本:
#!/bin/bash
repeat() {
echo "Repeating";
}
end() {
echo "Exit";
exit;
}
echo "Select"
select yn in "YES" "NO"; do
if [[ -z "$yn" ]]; then
# user entered text instead of the number
yn="$REPLY"
fi
case $yn in
YES )
repeat
;;
NO )
end
;;
* )
echo -e "Sorry, \"${yn}\" is not supported.\nTry again."
;;
esac
done