#!/bin/bash
function hose(){
cat <<EOF
,'''╭⌒╮⌒╮.',''',,',.'',,','',.
╱◥██◣''o',''',,',.''.'',,',.
|田|田田│ '',,',.',''',,',.''
╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬
EOF
}
function char_long(){
cat <<EOF
----------------------
EOF
}
function check_install(){
[ $? -eq 0 ] && echo "安装成功" || echo "安装失败,请查明原因,或者手动"
}
clear
logpath=/var/log/nginxinstalled.log
char_long
hose
cat <<EOF
欢迎使用该脚本
请进入到 nginx 安装包所在目录
EOF
char_long
echo
package=$1
( [[ $# -eq 1 ]] && [[ $package =~ [^.]+\-[0-9.].*\.gz ]] ) && echo "come on! 开始咯" || { echo "$0 脚本需要且只需要一个参数才可以正常运行!或者是你的安装包有错误!" && exit; }
# [[ $1 =~ [^.]+\-[0-9.].*\.gz ]] && echo "开始解压并安装" || echo "这个安装包貌似有问题啊!";exit 1;
echo
echo "请问你要安装到哪里(绝对路径)?"
read -p "------->>>" path
mkdir -p $path &> /dev/null
if [ -f $package ];then
clear
hose
tar -zxf $package -C $path &> /dev/null
cd ${path}/` ls $path| grep -Eo "^[a-z.]+\-[1-9.]+." `
echo "是否添加 nginx 模块(Y/N)?"
read -p "------->>>" select
[[ $select =~ ([Yy]|[Yy][Ee][sS]) ]] && read -p "请输入你要输入的参数,不知参数是何,请自行输入 ./configure --help 挑选后再输入,直接将参数复制即可--->>>" paer;
clear
hose
echo "正在编译......."
while true
do
./configure --prefix=${path} ${paer} > ${logpath}
[[ $? -eq 0 ]] && { echo "编译已完成";break;} || { echo "出现错误,请根据提示信息,安装依赖包!";grep error $logpath; }
echo "请输入依赖包名称"
read -p "------->>>" rely
echo "正在安装软件..."
{ yum install $rely -y || apt install $rely -y; } &> /dev/null
check_install
clear
hose
echo "正在重新开始编译软件......"
done
echo "正在 make && make install 过程中......"
{ make && make install; } &> /dev/null
check_install
else
echo
hose
echo "安装包不存在,请检查路径"
exit 10
fi
源码包安装脚本(欢迎各位大佬前来指点)
最新推荐文章于 2024-07-17 19:38:37 发布