解剖Nginx·自動指令碼篇(2)設定初始變數指令碼 auto/init
解剖 Nginx ·自動指令碼篇(2)設定初始變數指令碼 auto/init
- Author: Poechant
- Blog:blog.CSDN.net/Poechant
- Email: zhongchao.ustc#gmail.com (#->@)
- Date: March 4th, 2012
- Copyright © 柳大·Poechant
在configure
中執行完auto/options
指令碼後,接著執行auto/init
指令碼,其中所做的工作如下。
1 Makefile檔名變數
預設情況下是:
objs/Makefile
程式碼如下:
NGX_MAKEFILE=$NGX_OBJS/Makefile
2 原始檔名變數
預設情況下是:
objs/ngx_modules.c
程式碼如下:
NGX_MODULES_C=$NGX_OBJS/ngx_modules.c
3 標頭檔案名變數
預設情況下是:
objs/ngx_auto_headers.h
objs/ngx_auto_config.h
程式碼如下:
NGX_AUTO_HEADERS_H=$NGX_OBJS/ngx_auto_headers.h
NGX_AUTO_CONFIG_H=$NGX_OBJS/ngx_auto_config.h
4 自動測試檔名與配置錯誤檔名變數
預設情況下是:
objs/autotest
objs/autoconf.err
程式碼如下:
NGX_AUTOTEST=$NGX_OBJS/autotest
NGX_AUTOCONF_ERR=$NGX_OBJS/autoconf.err
5 STUBS 相關變數
預設情況下是:
objs/autoconf.err
objs/Makefile
程式碼如下:
# STUBs
NGX_ERR=$NGX_OBJS/autoconf.err
MAKEFILE=$NGX_OBJS/Makefile
6 PCH 相關變數
程式碼如下:
NGX_PCH=
NGX_USE_PCH=
7 測試所在環境下"\c"和"-n"
由於 Nginx 支援多種作業系統,比如 Mac OS、Linux、Solaris 等。不同的系統下的 Shell 也小有差別。所以在auto/init
指令碼中有如下兩個變數:
ngx_n
ngx_c
程式碼如下:
# check the echo's "-n" option and "\c" capability
if echo "test\c" | grep c >/dev/null; then
if echo -n test | grep n >/dev/null; then
ngx_n=
ngx_c=
else
ngx_n=-n
ngx_c=
fi
else
ngx_n=
ngx_c='\c'
fi
8 建立並寫入 Makefile
還有兩個 targets,default 執行 build,clean 執行rm -rf Makefile $NGX_OBJS
。
# create Makefile
cat << END > Makefile
default: build
clean:
rm -rf Makefile $NGX_OBJS
-
轉載請註明來自“柳大的CSDN部落格”:blog.csdn.net/Poechant
-
相關文章
- Yii2 init 初始化指令碼分析指令碼
- Ubuntu 設定開機自啟動指令碼Ubuntu指令碼
- 設定msyqlphp-fpm開機自動啟動指令碼PHP指令碼
- CentOS的System V init啟動指令碼CentOS指令碼
- linux設定開機自啟動指令碼的最佳方式Linux指令碼
- specjvm自動化指令碼JVM指令碼
- 自動備份指令碼指令碼
- 自動化指令碼安裝mysql shell指令碼範例指令碼MySql
- Linux系統如何設定開機自動執行指令碼?Linux指令碼
- CentOS7 nginx啟動指令碼CentOSNginx指令碼
- nginx重啟指令碼Nginx指令碼
- 介面自動化指令碼設計規範指令碼
- shell指令碼之變數定義規範及使用指令碼變數
- Python——自動簽到指令碼Python指令碼
- Dockerfile---指令碼自動化Docker指令碼
- vue自動化部署指令碼Vue指令碼
- Ubuntu自動啟動配置指令碼Ubuntu指令碼
- ubuntu-18.04 設定開機啟動指令碼Ubuntu指令碼
- ubuntu14 設定開機啟動指令碼Ubuntu指令碼
- shell指令碼程式設計學習筆記——變數指令碼程式設計筆記變數
- Shell指令碼程式設計規範與變數(shell指令碼必須要知道的規矩!)指令碼程式設計變數
- iOS —— 兩套自動打包指令碼iOS指令碼
- mydumper自動化安裝指令碼指令碼
- oracle自動冷備份指令碼Oracle指令碼
- 實現指令碼自動部署docker指令碼Docker
- 一個centos初始化指令碼CentOS指令碼
- 測試開發之自動化篇-Appium指令碼開發APP指令碼
- awr報告每天自動生成指令碼指令碼
- Linux 新增指令碼開機自啟動Linux指令碼
- Python 指令碼自動視窗截圖Python指令碼
- golang一鍵自動安裝指令碼Golang指令碼
- MySQL8.0的自動部署指令碼MySql指令碼
- python實現自動搶課指令碼Python指令碼
- 開機自動執行python指令碼Python指令碼
- SQL Server映象自動生成指令碼方法SQLServer指令碼
- Oracle ADG 自動切換指令碼分享Oracle指令碼
- 前端專案nodejs自動部署指令碼前端NodeJS指令碼
- 自動定時備份 mysql 資料庫 的 shell 指令碼MySql資料庫指令碼
- shell指令碼中的變數及應用指令碼變數