Sintaxe comum para stdout específico como “arquivo de saída”

1

Eu tenho um software principalmente unixóide que geralmente grava em um arquivo que é especificado como um parâmetro.

Agora, quero adicionar a capacidade de gravar no stdout. Mas escrever em um arquivo ainda deve ser o comportamento padrão.

Acho que vi comandos da shell como

command --outfile -

ou

command -

Isso é uma prática comum? Infelizmente não me lembro dos comandos que funcionaram assim.

    
por Alex 08.10.2012 / 22:35

3 respostas

3

Um método comum é escrever para stdout quando o último argumento na lista de parâmetros é um hífen (ou, em alguns casos, um hífen duplo).

Se você estiver criando um programa, você pode ir além e usar um parâmetro -stdout explícito para imprimir na saída padrão. Como a sintaxe - não é um padrão oficial, sugiro que seja melhor errar do lado da legibilidade.

    
por 08.10.2012 / 22:41
1

O hífen é usado em vários comandos * nix para indicar stdin ou stdout, dependendo do contexto em que é usado. É razoavelmente comum, mas não é universal, então você deve verificar a documentação para um comando específico antes de usá-lo.

    
por 08.10.2012 / 22:41
1

A prática comum (um exemplo é gzip) é escrever para stdout se um arquivo não for especificado (supondo que você possa determinar isso) ou se um hífen é fornecido como a última opção.

    
por 08.10.2012 / 22:42

Tags