first-commit
This commit is contained in:
76
功能脚本/基础脚本/安装多个软件.sh
Normal file
76
功能脚本/基础脚本/安装多个软件.sh
Normal file
@@ -0,0 +1,76 @@
|
||||
#!/bin/bash
|
||||
|
||||
CMD_INSTALL=""
|
||||
CMD_UPDATE=""
|
||||
CMD_REMOVE=""
|
||||
SOFTWARE_UPDATED=0
|
||||
|
||||
#########color code#############
|
||||
RED="31m" # Error message
|
||||
GREEN="32m" # Success message
|
||||
YELLOW="33m" # Warning message
|
||||
BLUE="36m" # Info message
|
||||
|
||||
###############color echo func#################
|
||||
colorEcho(){
|
||||
echo -e "\033[${1}${@:2}\033[0m" 1>& 2
|
||||
}
|
||||
|
||||
# 判断系统的包管理工具 apt, yum, or zypper
|
||||
getPackageManageTool(){
|
||||
if [[ -n `command -v apt-get` ]];then
|
||||
CMD_INSTALL="apt-get -y -qq install"
|
||||
CMD_UPDATE="apt-get -qq update"
|
||||
CMD_REMOVE="apt-get -y remove"
|
||||
elif [[ -n `command -v yum` ]]; then
|
||||
CMD_INSTALL="yum -y -q install"
|
||||
CMD_UPDATE="yum -q makecache"
|
||||
CMD_REMOVE="yum -y remove"
|
||||
elif [[ -n `command -v zypper` ]]; then
|
||||
CMD_INSTALL="zypper -y install"
|
||||
CMD_UPDATE="zypper ref"
|
||||
CMD_REMOVE="zypper -y remove"
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
## 安装所需要的程序,及依赖程序
|
||||
installDemandSoftwares(){
|
||||
# 检查系统包管理方式,更新包
|
||||
getPackageManageTool
|
||||
if [[ $? -eq 1 ]]; then
|
||||
colorEcho ${RED} "系统的包管理不是 APT or YUM, 请手动安装所需要的软件."
|
||||
return 1
|
||||
fi
|
||||
|
||||
### 更新程序引索
|
||||
if [[ $SOFTWARE_UPDATED -eq 0 ]]; then
|
||||
colorEcho ${BLUE} "正在更新软件包管理..."
|
||||
$CMD_UPDATE
|
||||
SOFTWARE_UPDATED=1
|
||||
fi
|
||||
|
||||
for software in $@
|
||||
do
|
||||
## 安装该软件
|
||||
if [[ -n `command -v ${software}` ]]; then
|
||||
colorEcho ${GREEN} "${software}已经安装了...跳过..."
|
||||
else
|
||||
colorEcho ${BLUE} "正在安装 ${software}.."
|
||||
$CMD_INSTALL ${software}
|
||||
|
||||
## 判断该软件是否安装成功
|
||||
if [[ $? -ne 0 ]]; then
|
||||
colorEcho ${RED} "安装 ${software} 失败. 请手动安装该程序."
|
||||
return 1
|
||||
else
|
||||
colorEcho ${GREEN} "已经成功安装 ${software}."
|
||||
fi
|
||||
fi
|
||||
done
|
||||
return 0
|
||||
}
|
||||
|
||||
installDemandSoftwares iftop vim curl wget mtr
|
||||
Reference in New Issue
Block a user