gpt4 book ai didi

linux - 在 CASE 语句后继续函数

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:55:16 30 4
gpt4 key购买 nike

我有这个功能

function doit {
echo " Do you want to continue? {y/n} "
case $opt in
y) ??????
n) exit ;;
esac
echo " 32b or 64b? {32/64} "
case $opt in
32) do32 ;;
64) do64 ;;
esac
}

我该如何进行这项工作?选择"is"后,我需要在同一功能中继续前进。

最佳答案

这个不太清楚,但我想你的意思是

doit () {
read -p " Do you want to continue? {y/n} " opt
case $opt in
y) ;;
n) return 1 ;;
esac
read -p " 32b or 64b? {32/64} " opt
case $opt in
32) do32 ;;
64) do64 ;;
esac
}

y 中什么都不做的选项case 似乎是你问题的答案。但还要注意 return 的使用而不是 exit离开功能,缺少一个function函数声明中的关键字(这真的只是一个偏好问题;但我认为 Bash-only 语法变体没有任何优势),以及 read 的使用读取输入(我这就是你想要的?)。 return争论 1向调用者发出失败信号,因此您可以说例如

doit || echo "$0: doit failed or aborted" >&2

严格来说,第一个case只需要一个 n分支;您会注意到,如果答案不是 n,代码就会失败。或 y , 这种行为实际上适用于 y案例太。如果不是这种情况,最后的 *) case 可用于处理所有其他未处理的值。

关于linux - 在 CASE 语句后继续函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49721302/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com