#!/bin/bash #告诉系统应该使用哪个解释器来执行这个脚本
md5sum httpd-2.4.25.tar.gz # 验证httpd-2.4.25.tar.gz文件的MD5哈希值(如果有预期的哈希值)
# 安装依赖包
yum -y install gcc gcc-* make apr-util-devel zlib-devel pcre-devel
if [ $? -ne 0 ]; then #$?抓取上一条指令完成后的动态
echo -e "\e[31m Error installing dependencies! \e[0m"
exit 1 #1通常表示非零退出状态,表示有错误发生
fi
# 解压httpd源代码包
tar zxf httpd-2.4.25.tar.gz -C /usr/src/
if [ $? -ne 0 ]; then #$?抓取上一条指令完成后的动态
echo -e "\e[31m Error extracting httpd source! \e[0m"
exit 1 #1通常表示非零退出状态,表示有错误发生
fi
# 进入解压后的目录并配置、编译、安装httpd
cd /usr/src/httpd-2.4.25/ || exit
./configure --prefix=/usr/local/httpd
# 切换到httpd源代码目录,如果失败则退出脚本
#cd /usr/src/httpd-2.4.25/ || {
# echo -e "\e[31m Error: Unable to change to the httpd source directory. \e[0m"
# exit 1 # 退出状态码1通常表示发生了错误
#}
# 配置httpd安装参数
#./configure --prefix=/usr/local/httpd
if [ $? -ne 0 ]; then #$?抓取上一条指令完成后的动态
echo -e "\e[31m Error configuring httpd! \e[0m"
exit 1 #1通常表示非零退出状态,表示有错误发生
fi
make
if [ $? -ne 0 ]; then #$?抓取上一条指令完成后的动态
echo -e "\e[31m Error building httpd! \e[0m"
exit 1 #1通常表示非零退出状态,表示有错误发生
fi
make install
if [ $? -ne 0 ]; then #$?抓取上一条指令完成后的动态
echo -e "\e[31m Error installing httpd! \e[0m"
exit 1 #1通常表示非零退出状态,表示有错误发生
fi
# 注意:chmod +x $0 是不必要的,因为脚本通常已经是可执行的 直接使用sh解析器即可
# 如果您确实需要为另一个脚本添加执行权限,请确保脚本存在并指定正确的路径
所需要的安装包
httpd-2.4.25.tar.gz