-
Embora você possa redirecionar facilmente em um shell, há outros contextos em que não é tão fácil, como ao executar o comando em outro idioma sem usar uma linha de comando do shell. Mesmo em um shell:
find . -type f -exec grep -q foo {} \; -printf '%s\n'para imprimir o tamanho de todos os arquivos que contêm
foo. Se você redirecionar para/dev/null, perderá ambosfindegrepoutput. Você precisaria recorrer a-exec sh -c 'exec grep foo "$1" > /dev/null' sh {} \;(isto é, gerar uma casca extra). -
grep -q fooé menor para digitar quegrep foo > /dev/null - Redirecionar para
/dev/nullsignifica que a saída ainda está gravada e, em seguida, descartada, que é menos eficiente do que não gravá-la (e não alocar, preparar essa saída para ser gravada) - que permite mais otimizações. No caso de
grep, por exemplo, já que com-q,grepsabe que a saída não é necessária, ela sai assim que encontrar a primeira correspondência. Comgrep > /dev/null, ainda tentaria encontrar todas as correspondências. -
quiet não significa necessariamente silencioso . Para alguns comandos, isso significa reduzir a verbosidade (o oposto de
-v|--verbose). Por exemplo,mplayertem--quiete--really-quiet. Com alguns comandos, você pode usar-qqqpara diminuir a verbosidade 3 vezes.