Rumah > Soal Jawab > teks badan
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
黄舟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
2>&1
adalah untuk mengubah hala ralat standard ke output standard🎜