mirror of
https://github.com/dunwu/linux-tutorial.git
synced 2024-04-15 19:55:24 +08:00
78 lines
2.0 KiB
Bash
78 lines
2.0 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# CentOS 常用软件一键安装脚本
|
|
# @author Zhang Peng
|
|
# ------------------------------------------------------------------------------
|
|
|
|
# ------------------------------------------------------------------------------ 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"
|
|
cat << EOF
|
|
###################################################################################
|
|
# 欢迎使用 CentOS 常用软件一键安装脚本
|
|
# 适用于 Linux CentOS 环境
|
|
# @author: Zhang Peng
|
|
###################################################################################
|
|
EOF
|
|
printf "${C_RESET}\n"
|
|
}
|
|
|
|
# print menu
|
|
printMenu() {
|
|
printf "${C_B_MAGENTA}"
|
|
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
|
|
|
|
printf "\n\n${C_B_BLUE}请选择需要安装的软件:${C_RESET}"
|
|
}
|
|
|
|
# exec shell to install soft
|
|
main() {
|
|
printMenu
|
|
read -t 30 index
|
|
if [[ -n ${index} ]]; then
|
|
no=`expr ${index} - 1`
|
|
len=${#menus[*]}
|
|
if [[ ${index} -gt ${len} ]]; then
|
|
logWarn "输入项不支持!"
|
|
exit 1
|
|
fi
|
|
key=${menus[$no]}
|
|
if [[ ${key} == 'exit' ]]; then
|
|
logInfo "退出软件安装脚本。"
|
|
exit 0
|
|
fi
|
|
sh soft/${key}-install.sh
|
|
printf "\n"
|
|
main
|
|
else
|
|
logWarn "输入项不支持!"
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
# ------------------------------------------------------------------------------ main
|
|
|
|
printHeadInfo
|
|
main
|