取编译参数时遇到的管道重定向问题
Posted 白-胖-子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了取编译参数时遇到的管道重定向问题相关的知识,希望对你有一定的参考价值。
问题
- 使用nginx -V取编译参数
- 使用管道 | 传给后续命令进行处理
- 怎么取都取不出来
思考过程
是否语法问题
- 开始一位awk语法出错
- 换到sed依然出错
- 再用grep还是出错
发现问题
- 将ngxin -V 使用标准输出重定向到文件中
- 发现标准输出重定向>保存的文件为空
- 意识到问题的存在了
- 使用ngxin &> 合并输出,则可以保存文件内容
解决问题
- nginx -V这类提示信息归类到标准错误
[root@C8-189 src]# nginx -V &> grep configure
[root@C8-189 src]# nginx -V 2> grep configure
[root@C8-189 src]# nginx -V 1> nginxv.log
nginx version: nginx/1.18.0
built by gcc 8.4.1 20200928 (Red Hat 8.4.1-1) (GCC)
built with OpenSSL 1.1.1g FIPS 21 Apr 2020
TLS SNI support enabled
configure arguments: --prefix=/apps/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre --with-stream --with-stream_ssl_module --with-stream_realip_module
[root@C8-189 src]# nginx -V 2> nginxv.log
[root@C8-189 src]# nginx -V 2>&1 | grep configure
configure arguments: --prefix=/apps/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre --with-stream --with-stream_ssl_module --with-stream_realip_module
- 标准错误,所以不能直接用管道。
- 刚掉坑了,需要把标准错误重定向到标准输出才可以通过管道传给后续命令。
cd /usr/local/src/nginx-1.20.1 && nginx -V 2>&1 | awk -F: '/^configure/ {print $2}' | xargs ./configure
以上是关于取编译参数时遇到的管道重定向问题的主要内容,如果未能解决你的问题,请参考以下文章