cari

Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk mendapatkan keputusan ujian dalam nginx menggunakan shell

Saya mahu menulis skrip automatik
Uji fail konfigurasi yang dijana dahulu

/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/test.conf

Jika ujian berjaya, tulis ganti nginx.conf Jika tidak berjaya, ralat akan dikembalikan

Namun, saya tidak tahu bagaimana untuk mendapatkan maklumat selepas melaksanakan arahan ujian semuanya berjaya dilaksanakan

習慣沉默習慣沉默2756 hari yang lalu716

membalas semua(1)saya akan balas

  • 黄舟

    黄舟2017-05-16 17:17:34

    [root@arbiter nginx]# /usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
    nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
    nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
    [root@arbiter nginx]# echo $?
    0
    
    [root@arbiter nginx]# /usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/mime.types
    nginx: [emerg] "types" directive is not allowed here in /usr/local/nginx/conf/mime.types:2
    nginx: configuration file /usr/local/nginx/conf/mime.types test failed
    [root@arbiter nginx]# echo $?
    1
    

    Dalam bash, $? digunakan untuk mendapatkan nilai pulangan bagi perintah sebelumnya 0 adalah normal, dan nilai lain tidak normal. $? 用来获取上一条命令的返回值,0 为正常,其他值为异常。

    如果需要获取命令输出,可以按一下方式操作:

    [root@arbiter nginx]# a="`/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/mime.types 2>&1`"
    [root@arbiter nginx]# echo $a
    nginx: [emerg] "types" directive is not allowed here in /usr/local/nginx/conf/mime.types:2 nginx: configuration file /usr/local/nginx/conf/mime.types test failed
    

    其中2>&1

    Jika anda perlu mendapatkan output arahan, anda boleh melakukannya seperti berikut: 🎜 rrreee 🎜Fungsi 2>&1 adalah untuk mengubah hala ralat standard ke output standard🎜

    balas
    0
  • Batalbalas