加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
104.install_gcc.sh 6.97 KB
一键复制 编辑 原始数据 按行查看 历史
大吉客 提交于 2022-05-06 10:34 . 1.fix 104
#!/bin/bash
set +e
#以下为文字带有颜色的函数
#颜色列表:
#-----------------------------------------------------------------------
#40 暗灰色
#41 红色
#42 绿色
#43 黄色
#44 蓝色
#45 紫色
#46 天蓝色
#47 白色
#-----------------------------------------------------------------------
#通常在操作成功时调用显示绿色背景
function pok()
{
echo -e "\033[47;42m$*\033[0m"
}
#通常在操作成功时调用显示绿色背景
function pdone()
{
echo -e "\033[47;42m$*\033[0m"
}
#通常在操作失败时调用显示红色背景
function perr()
{
echo -e "\033[47;41m$*\033[0m"
}
#通常在操作失败时调用显示红色背景
function perro()
{
echo -e "\033[47;41m$*\033[0m"
}
#通常在操作不规范时调用显示黄色背景
function pwarn()
{
echo -e "\033[30;43m$*\033[0m"
}
#通常在操作需提示时调用显示紫色背景
function pnote()
{
echo -e "\033[47;45m$*\033[0m"
}
#通常在操作需着重时调用显示青色背景
function pshow()
{
echo -e "\033[47;46m$*\033[0m"
}
#通常在操作需着重时调用显示青色背景
function pshow()
{
echo -e "\033[47;46m$*\033[0m"
}
#通常在需要提示重要信息时显示蓝色背景
function pinfo()
{
echo -e "\033[30;44m$*\033[0m"
}
#通常在需要提示重要信息时显示白色背景
function pecho()
{
echo -e "\033[30;47m$*\033[0m"
}
#通常在操作成功时调用显示绿色背景
function fpok()
{
local curpath=$(cd "$(dirname "$0")"; pwd)
echo -e "\033[47;42m${curpath}:>\r\n $*\033[0m"
}
#通常在操作成功时调用显示绿色背景
function fpdone()
{
local curpath=$(cd "$(dirname "$0")"; pwd)
echo -e "\033[47;42m${curpath}:>\r\n $*\033[0m"
}
#通常在操作失败时调用显示红色背景
function fperr()
{
local curpath=$(cd "$(dirname "$0")"; pwd)
echo -e "\033[47;41m${curpath}:>\r\n $*\033[0m"
}
#通常在操作失败时调用显示红色背景
function fperro()
{
local curpath=$(cd "$(dirname "$0")"; pwd)
echo -e "\033[47;41m${curpath}:>\r\n $*\033[0m"
}
#通常在操作不规范时调用显示黄色背景
function fpwarn()
{
local curpath=$(cd "$(dirname "$0")"; pwd)
echo -e "\033[30;43m${curpath}:>\r\n $*\033[0m"
}
#通常在操作需提示时调用显示紫色背景
function fpnote()
{
local curpath=$(cd "$(dirname "$0")"; pwd)
echo -e "\033[47;45m${curpath}:>\r\n $*\033[0m"
}
#通常在操作需着重时调用显示青色背景
function fpshow()
{
local curpath=$(cd "$(dirname "$0")"; pwd)
echo -e "\033[47;46m${curpath}:>\r\n $*\033[0m"
}
#通常在操作需着重时调用显示青色背景
function fpshow()
{
local curpath=$(cd "$(dirname "$0")"; pwd)
echo -e "\033[47;46m${curpath}:>\r\n $*\033[0m"
}
#通常在需要提示重要信息时显示蓝色背景
function fpinfo()
{
local curpath=$(cd "$(dirname "$0")"; pwd)
echo -e "\033[30;44m${curpath}:>\r\n $*\033[0m"
}
#通常在需要提示重要信息时显示白色背景
function fpecho()
{
local curpath=$(cd "$(dirname "$0")"; pwd)
echo -e "\033[30;47m${curpath}:>\r\n $*\033[0m"
}
#以下为文字带有颜色的函数
#颜色列表:
#-----------------------------------------------------------------------
#30 暗灰色
#31 红色
#32 绿色
#33 黄色
#34 蓝色
#35 紫色
#36 天蓝色
#37 白色
#-----------------------------------------------------------------------
#通常在操作成功时调用显示绿色文字
function sok()
{
echo -e "\033[32;1m$*\033[0m"
}
#通常在操作成功时调用显示绿色文字
function sdone()
{
echo -e "\033[32;1m$*\033[0m"
}
#通常在操作失败时调用显示红色文字
function serr()
{
echo -e "\033[31;1m$*\033[0m"
}
function serro()
{
echo -e "\033[31;1m$*\033[0m"
}
#通常在操作不规范时调用显示黄色文字
function swarn()
{
echo -e "\033[33;1m$*\033[0m"
}
#通常在操作需提示时调用显示紫色文字
function snote()
{
echo -e "\033[35;1m$*\033[0m"
}
#通常在操作需着重时调用显示青色文字
function sshow()
{
echo -e "\033[36;1m$*\033[0m"
}
#通常在需要提示重要信息时显示蓝色文字
function sinfo()
{
echo -e "\033[34;1m$*\033[0m"
}
#通常在操作成功时调用显示绿色文字
function fsok()
{
local curpath=$(cd "$(dirname "$0")"; pwd)
echo -e "\033[32;1m${curpath}:>\r\n $*\033[0m"
}
#通常在操作成功时调用显示绿色文字
function fsdone()
{
local curpath=$(cd "$(dirname "$0")"; pwd)
echo -e "\033[32;1m${curpath}:>\r\n $*\033[0m"
}
#通常在操作失败时调用显示红色文字
function fserr()
{
local curpath=$(cd "$(dirname "$0")"; pwd)
echo -e "\033[31;1m${curpath}:>\r\n $*\033[0m"
}
function fserro()
{
local curpath=$(cd "$(dirname "$0")"; pwd)
echo -e "\033[31;1m${curpath}:>\r\n $*\033[0m"
}
#通常在操作不规范时调用显示黄色文字
function fswarn()
{
local curpath=$(cd "$(dirname "$0")"; pwd)
echo -e "\033[33;1m${curpath}:>\r\n $*\033[0m"
}
#通常在操作需提示时调用显示紫色文字
function fsnote()
{
local curpath=$(cd "$(dirname "$0")"; pwd)
echo -e "\033[35;1m${curpath}:>\r\n $*\033[0m"
}
#通常在操作需着重时调用显示青色文字
function fsshow()
{
local curpath=$(cd "$(dirname "$0")"; pwd)
echo -e "\033[36;1m${curpath}:>\r\n $*\033[0m"
}
#通常在需要提示重要信息时显示蓝色文字
function fsinfo()
{
local curpath=$(cd "$(dirname "$0")"; pwd)
echo -e "\033[34;1m${curpath}:>\r\n $*\033[0m"
}
install_gcc()
{
ver=$1
if [ -z "${ver}" ]; then
swarn "Please set gcc/g++ version"
return 1
fi
swarn "Start install gcc/g++ ..."
sudo apt-get install gcc-${ver}
if [ ! "x$?" = "x0" ]; then
serro "Failed install gcc-${ver}!"
return 1
fi
sdone "Finish install gcc-${ver}!"
sudo apt-get install g++-${ver}
if [ ! "x$?" = "x0" ]; then
serro "Failed install g++-${ver}!"
return 1
fi
sdone "Finish install g++-${ver}!"
sudo apt-get install gcc-${ver}-multilib
if [ ! "x$?" = "x0" ]; then
serro "Failed install gcc-${ver}-multilib!"
return 0
fi
sdone "Finish install gcc-${ver}-multilib!"
sudo apt-get install g++-${ver}-multilib
if [ ! "x$?" = "x0" ]; then
serro "Failed install g++-${ver}-multilib!"
return 0
fi
sdone "Finish install g++-${ver}-multilib!"
return 0
}
config_gcc()
{
swarn "Start remove old alternatives..."
sudo update-alternatives --remove-all gcc > /dev/null 2>&1
sudo update-alternatives --remove-all cc > /dev/null 2>&1
sudo update-alternatives --remove-all g++ > /dev/null 2>&1
sudo update-alternatives --remove-all c++ > /dev/null 2>&1
swarn "Start install new alternatives..."
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${ver} 50
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc-${ver} 50
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-${ver} 50
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++-${ver} 50
sdone "Finish install new alternatives..."
}
__main()
{
install_gcc $@
if [ $? -ne 0 ]; then
return
fi
config_gcc $@
}
__main $@
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化