linux-tutorial/codes/linux/dunwu-soft.sh

78 lines
2.0 KiB
Bash
Raw Normal View History

2019-05-08 17:13:04 +08:00
#!/usr/bin/env bash
2020-02-12 22:46:17 +08:00
# ------------------------------------------------------------------------------
# CentOS 常用软件一键安装脚本
# @author Zhang Peng
# ------------------------------------------------------------------------------
2019-07-29 10:46:59 +08:00
2020-02-12 22:46:17 +08:00
# ------------------------------------------------------------------------------ libs
# 装载其它库
LINUX_SCRIPTS_DIR=$(cd `dirname $0`; pwd)
if [[ ! -x ${LINUX_SCRIPTS_DIR}/lib/utils.sh ]]; then
logError "必要脚本库 ${LINUX_SCRIPTS_DIR}/lib/utils.sh 不存在!"
exit 1
fi
source ${LINUX_SCRIPTS_DIR}/lib/utils.sh
# ------------------------------------------------------------------------------ functions
# 打印头部信息
printHeadInfo() {
printf "${C_B_BLUE}\n"
2019-05-08 17:13:04 +08:00
cat << EOF
2019-10-24 22:00:00 +08:00
###################################################################################
2020-02-12 22:46:17 +08:00
# 欢迎使用 CentOS 常用软件一键安装脚本
2019-10-24 22:00:00 +08:00
# 适用于 Linux CentOS 环境
# @author: Zhang Peng
###################################################################################
2019-05-08 17:13:04 +08:00
EOF
2020-02-12 22:46:17 +08:00
printf "${C_RESET}\n"
}
2019-05-08 17:13:04 +08:00
2019-07-29 10:46:59 +08:00
# print menu
2019-10-24 22:00:00 +08:00
printMenu() {
2020-02-12 22:46:17 +08:00
printf "${C_B_MAGENTA}"
2019-10-24 22:00:00 +08:00
menus=( docker fastdfs gitlab jdk8 jenkins kafka maven mongodb mysql nacos nexus nginx nodejs redis rocketmq tomcat8 zookeeper zsh exit )
for i in "${!menus[@]}"; do
index=`expr ${i} + 1`
val=`expr ${index} % 2`
printf "[%02d] %-20s" "${index}" "${menus[$i]}"
if [[ ${val} -eq 0 ]]; then
printf "\n"
fi
done
2020-02-12 22:46:17 +08:00
printf "\n\n${C_B_BLUE}请选择需要安装的软件:${C_RESET}"
2019-10-24 22:00:00 +08:00
}
2019-05-08 17:13:04 +08:00
2019-07-29 10:46:59 +08:00
# exec shell to install soft
2019-10-24 22:00:00 +08:00
main() {
printMenu
2019-10-29 18:22:19 +08:00
read -t 30 index
if [[ -n ${index} ]]; then
no=`expr ${index} - 1`
len=${#menus[*]}
if [[ ${index} -gt ${len} ]]; then
2020-02-12 22:46:17 +08:00
logWarn "输入项不支持!"
exit 1
2019-10-29 18:22:19 +08:00
fi
key=${menus[$no]}
if [[ ${key} == 'exit' ]]; then
2020-02-12 22:46:17 +08:00
logInfo "退出软件安装脚本。"
2019-10-29 18:22:19 +08:00
exit 0
fi
sh soft/${key}-install.sh
printf "\n"
main
else
2020-02-12 22:46:17 +08:00
logWarn "输入项不支持!"
exit 1
2019-10-29 18:22:19 +08:00
fi
2019-05-08 17:13:04 +08:00
}
2019-10-10 08:56:31 +08:00
2020-02-12 22:46:17 +08:00
# ------------------------------------------------------------------------------ main
printHeadInfo
2019-10-24 22:00:00 +08:00
main