comando whatis Errores de redirección de salida

comando whatis Errores de redirección de salida

Haz lo siguiente y funciona.

~$whatis `ls /bin`
stty (1)             - change and print terminal line settings

stty (2)             - unimplemented system calls

su (1)               - change user ID or become superuser

etc...

¿Redirigir la salida a un archivo y obtengo esto?

~$ whatis `ls /bin` > blah

kmod: nothing appropriate.

ntfsck: nothing appropriate.

Respuesta1

>solo redirige la salida estándar ( stdout), pero cuando whatisno puede encontrar información sobre un archivo, lo escribe en una secuencia diferente stderr. También puede redirigir eso con 2>el stderridentificador de archivo 2. Puede redirigir tanto stdout como stderr como &>o puede redirigir stderr a stdout haciendo2>&1

Puedes leer todo sobre la redirección.aquí

Entonces, en su ejemplo, si desea que todos los errores y el éxito terminen en blahusted, podría hacerlo

whatis `ls /bin` &> blah

o, usando la sintaxis de subcapa alternativa que se prefiere hoy en día:

whatis $(ls /bin) &> blah

aunque /binno es probable que tenga uno, tenga cuidado al hacer cosas como esta. Los resultados de ls /binestarán sujetos a la división de palabras, por lo que si alguno de los archivos contiene, digamos, espacios, se tratarán como argumentos diferentes a whatis. Esta es la razón por la que generalmente no se recomienda analizar el resultado de ls(consulteesta preguntapara una discusión sobre ello)

Podrías hacer lo que estás intentando de manera diferente.

find /bin -maxdepth 1 -type f -exec whatis {} + &> blah

que buscará /biny no profundizará (como el globo), luego buscará solo archivos (el type fargumento) y ejecutará cada cosa que encuentre whatis, luego realizará la misma redirección de la que habíamos hablado.

Respuesta2

qué es busca palabras clave en un conjunto de archivos de bases de datos que contienen descripciones breves de comandos del sistema y muestra el resultado en la salida estándar. Sólo se muestran coincidencias de palabras completas.

kmod: nada apropiado. Hay un mensaje que dice que no encontró nada para kmod.

Si desea redirigir toda la salida, intente esto.

whatis $(ls /bin) > /tmp/a.txt

información relacionada