Para quase todos os programas, echo $i | myprogram -options
e myprogram -options <<<$i
devem funcionar, alimentando o programa $i
através da entrada padrão.
<foo
usará o conteúdo do arquivo chamado foo
como stdin.
<<foo
usará o texto entre isso e uma linha que consiste apenas em foo
como entrada padrão. Este é um documento aqui (heredoc), como disse Gilles; EOF
não significa realmente o fim do arquivo, é apenas um delineador heredoc comum (usamos "foo" neste exemplo).
<<<foo
usará a string "foo" como entrada padrão. Você também pode especificar uma variável $foo
e o shell usará seu conteúdo como stdin, como mostrei acima. Isso é chamado de herestring , pois usa uma string curta em contraste com um bloco inteiro, como em um heredoc. Herestrings trabalham em bash, mas não em /bin/sh
.