linux - shell 脚本编译安装Nginx,如何判断有没有出错(编译或安装这些)?

 温倩0918 发布于 2022-10-30 12:22

这是我的install.sh

#!/bin/sh

# linux上nginx,php,mysql集成环境
# Author salamander

basepath=$(cd `dirname $0`; pwd)

# 1. nginx安装

yum install -y gcc gcc-c++

# pcre安装
tar -zxvf pcre-8.40.tar.gz
cd ./pcre-8.40
./configure --prefix=/usr/local/pcre-8.40
make
make install

cd $basepath

# zlib安装
tar -zxvf zlib-1.2.11.tar.gz
cd ./zlib-1.2.11
./configure --prefix=/usr/local/zlib-1.2.11
make
make install

cd $basepath

# openssl安装,注意openssl是./config
tar -zxvf openssl-1.1.0e.tar.gz
cd ./openssl-1.1.0e
./config  
make
make install

cd $basepath

# nginx安装 注意 --with-pcre=  --with-zlib  指的是源码路径
tar -zxvf nginx-1.10.3.tar.gz
cd ./nginx-1.10.3
./configure --prefix=/usr/local/nginx-1.10.3 --with-pcre=./../pcre-8.40  --with-zlib=./../zlib-1.2.11
make
make install

echo 'Nginx installed successfully!'

最后一句话不管正确错误都会出现,这就不好了,怎么解决呢?

4 个回答
  • # pcre安装
    ./configure --prefix=/usr/local/pcre-8.40
    make && make install || exit
    
    # zlib安装
    ./configure --prefix=/usr/local/zlib-1.2.11
    make && make install || exit
    
    # openssl安装
    ./config
    make && make install || exit
    
    # nginx安装
    ./configure --prefix=/usr/local/nginx-1.10.3 --with-pcre=./../pcre-8.40  --with-zlib=./../zlib-1.2.11
    make && make install
    
    if [[ $? == 0 ]]; then
        echo 'Nginx installed successfully!'
    else
        echo 'xxxx'
    fi
    2022-10-31 21:27 回答
  • ./configure & make & make install & echo ...

    第一个命令执行成功了才会执行第二个,第二个执行成功了才会执行第三个。第三个执行成功了才会执行第四个

    2022-10-31 21:27 回答
  • shell里面,如果执行成功返回"0",执行失败,返回非零数。

    echo $?
    2022-10-31 21:27 回答
  • 开头加一行 set -e, 如果有命令返回非0则立刻停止

    2022-10-31 21:28 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有