GNU/Linux >> Belajar Linux >  >> Ubuntu

Mengapa Pola Awk Tidak Cocok dengan Argumen Konfigurasi Nginx -v?

Saya mencoba untuk mendapatkan hanya argumen konfigurasi dari nginx yang dikompilasi di Ubuntu 14.04 menggunakan baris perintah.

Menjalankan /usr/local/nginx/sbin/nginx -V memberi kita:

nginx version: nginx/1.8.1
built by gcc 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.1)
built with OpenSSL 1.0.1f 6 Jan 2014
TLS SNI support enabled
configure arguments: --with-http_ssl_module --with-http_stub_status_module --add-module=/usr/local/src/nginx-goodies-nginx-sticky-module-ng-c78b7dd79d0d --with-http_sub_module

Yang masuk akal.

Jadi sekarang saya ingin memotong baris ini menjadi:

–dengan-http_ssl_module –dengan-http_stub_status_module –add-module=/usr/local/src/nginx-goodies-nginx-sticky-module-ng-c78b7dd79d0d –with-http_sub_module

Setelah mencari online, sepertinya

/usr/local/nginx/sbin/nginx -V | sed -n -e '/arguments/ s/.*\: *//p'

atau

/usr/local/nginx/sbin/nginx -V | awk -F":" '{print $NF}'

atau

/usr/local/nginx/sbin/nginx -V | egrep -o '\\-\\-'

Tapi mereka semua hanya menghasilkan yang sama dengan nginx -V

Apa yang saya salah pahami?

Jawaban yang Diterima:

Ada : digunakan pada setiap baris , sehingga Anda dapat memperlakukan baris sebagai beberapa bagian yang dipisahkan oleh : , dan dalam kasus Anda, Anda menginginkan bidang ke-2 di mana configure arguments string muncul:

/usr/local/nginx/sbin/nginx -V  2>&1 | awk -F ':' '/configure arguments/{print $2}' 

Seperti yang disebutkan dalam komentar di bawah pertanyaan, output dari -V pergi ke aliran kesalahan, jadi kami harus membuatnya pergi ke stdout streaming ( yang 2>&1 tidak)


Ubuntu
  1. Mengapa Atlantic.Net Memilih NGINX

  2. Instal binari ke /bin, /sbin, /usr/bin dan /usr/sbin, interaksi dengan --prefix dan DESTDIR

  3. nginx:[emerg] direktif tidak diketahui di /etc/nginx/sites-enabled/example.com:3

  1. nginx - 413 Permintaan Entitas Terlalu Besar

  2. Instal Nginx dan konfigurasikan Virtual host di Ubuntu 20.04

  3. /usr/bin Vs /usr/local/bin Di Linux?

  1. Perbedaan Antara /opt Dan /usr/local?

  2. Linux – Menggabungkan /usr/bin Dan /usr/sbin Ke /bin (gnu/linux)?

  3. Apa arti dari /usr/sbin, /usr/local/sbin dan /usr/local/bin?