Quiero registrar la salida del comando "apachectl configtest" en un archivo. Así que probé los siguientes comandos:
root@ubuntu:~# echo $(apachectl -t) >> /tmp/apache_config_check [Sun Feb 21 14:35:23.614947 2016] [proxy_html:notice] [pid 29249] AH01425: I18n support in mod_proxy_html requires mod_xml2enc. Without it, non-ASCII characters in proxied pages are likely to display incorrectly. Syntax OKPero dio salida vacía:
root@ubuntu:~# cat /tmp/apache_config_check root@ubuntu:~#También probé una variación del comando en sí:
root@ubuntu:~# apachectl -t >> /tmp/apache_config_checky una variación de la camiseta:
root@ubuntu:~# $(apachectl -t) | tee /tmp/apache_config_checkSin suerte
Realmente no conozco ningún otro método para canalizar la salida, ni sé por qué fallaron los comandos anteriores. ¿Es algo fundamental?
El problema es que apachectl envía su salida a STDERR en lugar de STDOUT. Por lo tanto, debe redirigir STDERR de la siguiente manera:
apachectl -t > /tmp/apache_config_check 2>&1 El 2>&1 es magia de script de shell que dice "redirigir la salida en el descriptor de archivo 2 (STDERR) al descriptor de archivo 1 (STDOUT)".