Shell 函数 jplugin_dow() 的语法和逻辑错误分析
该 Shell 函数 jplugin_dow() 存在多个语法错误和逻辑错误:
- 在第 7 行和第 9 行的
cose应该是case。 - 在第 12 行的
cose应该是case。 - 在第 16 行的
esac应该是; ;。 - 在第 24 行的
esac应该是; ;。 - 在第 30 行的
esac应该是; ;。 - 在第 35 行的
esac应该是; ;。 - 在第 37 行的
esac应该是; ;。 - 在第 39 行的
esac应该是; ;。 - 在第 41 行的
esac应该是; ;。 - 在第 43 行的
esac应该是; ;。
此外,根据代码的逻辑,hcjx 函数应该是 jplugin_dow 函数的外部函数,所以需要将 hcjx 函数的定义放在 jplugin_dow 函数之外。
修正后的代码:
# hcjx 函数定义
hcjx() {
# 函数内容
}
jplugin_dow() {
case ${server_v} in
spig)
case ${server_number} in
1.20.1)
OPTION=$(whiptail --title '选择功能' --menu '请选择操作' 20 50 6 \
'1' '间歇泉' \
'2' '删除服务器[${server_number}]' \
'3' '插件商店' \
'0' '返回上级' 3>&1 1>&2 2>&3)
case ${OPTION} in
1)
if [ ! -d ${HOME}/gancm/server/${server_v}/${server_number} ]; then
echo 1
fi
;;
*)
;;
esac
;;
*)
OPTION=$(whiptail --title '选择功能' --menu '请选择操作' 20 50 6 \
'0' '返回上级' 3>&1 1>&2 2>&3)
;;
esac
;;
paper)
echo 2
;;
esac
}
说明:
- 修正了
case语法错误,将cose改为case。 - 修正了
esac语法错误,将esac改为; ;。 - 将
hcjx函数定义放在jplugin_dow函数之外,以符合逻辑关系。 - 将代码中的双引号改为单引号,避免 shell 解释特殊字符。
请根据您的实际需求对修正后的代码进行进一步完善。
原文地址: https://www.cveoy.top/t/topic/qoIQ 著作权归作者所有。请勿转载和采集!