Existem alguns casos que vêm à mente:
- argumentos ausentes,
- o argumento especial "-",
- o programa detecta que a entrada padrão não é um terminal e
- uma opção (ou variável de ambiente) substitui o comportamento.
Para argumentos ausentes, cat é um exemplo útil. Da mesma forma grep , sed .
O argumento especial "-" é usado em vários programas para informar explicitamente a leitura da entrada padrão. Você pode encontrar discussões (com exemplos) nestes:
- Qual é a diferença entre STDIN e argumentos passou para o comando?
- Como ler stdin quando nenhum argumento é passado?
- Pipe, entrada padrão e argumentos de linha de comando no Bash
Para o caso em que a entrada padrão não é um terminal - de improviso, os casos que eu conheço são menos conhecidos:
- A caixa de diálogo verifica a inicialização se sua entrada for um terminal e, caso contrário, abrirá o dispositivo terminal. Isso faz parte de um esquema maior, no qual é possível ler dados de um canal, por exemplo, para o widget de medidor.
-
diffstat lida com argumentos perdidos lendo sua entrada da entrada padrão, mas além disso, seu
-v(verbose) opção quando fazendo isso mostra progresso, por exemplo, um "." para cada arquivo - canalizar para o vi-like-emacs faz com que ele leia a entrada como um arquivo. O recurso comparável do vim (implementado [posteriormente 4 ), usa o argumento explícito "-".
Para argumentos especiais:
-
O diálogo tem uma opção
--gaugeque lê dados da entrada padrão. Também--input-fddiz ao qual descritor de arquivo usar como entrada para pipes. -
O lynx tem uma opção
-stdindizendo para interpretar a entrada padrão como html. Caso contrário, aceita opções de configuração na entrada padrão, por exemplo, usando-get_dataou-post_data.