comando whatis Erros de redirecionamento de saída

comando whatis Erros de redirecionamento de saída

Faça o seguinte e 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...

redirecionar a saída para um arquivo e eu entendo isso?

~$ whatis `ls /bin` > blah

kmod: nothing appropriate.

ntfsck: nothing appropriate.

Responder1

>apenas redireciona o padrão para fora ( stdout), mas quando whatisnão consegue encontrar informações sobre um arquivo, ele as grava em um fluxo diferente, stderr. Você também pode redirecionar isso com 2>o identificador stderrde arquivo 2. Você pode redirecionar stdout e stderr como &>ou pode redirecionar stderr para stdout fazendo2>&1

Você pode ler tudo sobre redirecionamentoaqui

Então, no seu exemplo, se você quiser que todos os erros, bem como o sucesso, acabem, blahvocê poderia fazer

whatis `ls /bin` &> blah

ou, usando a sintaxe alternativa do subshell preferida atualmente:

whatis $(ls /bin) &> blah

embora /binnão seja provável que tenha um, tenha cuidado ao fazer coisas como esta. Os resultados de ls /binestarão sujeitos à divisão de palavras, portanto, se algum dos arquivos contiver, digamos, espaços, eles serão tratados como argumentos diferentes para whatis. É por isso que você geralmente é desencorajado de analisar a saída de ls(vejaessa questãopara uma discussão sobre isso)

você poderia fazer o que está tentando de forma diferente, como

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

que irá olhar /bine não se aprofundar (como o glob), então encontrará apenas os arquivos (o type fargumento) e para cada coisa que encontrar será executado e whatis, em seguida, fará o mesmo redirecionamento de que falamos.

Responder2

o que é pesquisa palavras-chave em um conjunto de arquivos de banco de dados contendo breves descrições de comandos do sistema e exibe o resultado na saída padrão. Somente correspondências completas de palavras são exibidas.

kmod: nada apropriado. há uma mensagem informando que não encontrou nada para o kmod.

se você deseja redirecionar toda a saída, tente isto.

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

informação relacionada