Na maioria dos casos, seria o operador de redirecionamento ( <
):
$ tr 'a' 'b' /path/to/file ## fails because 'tr' works on streams
tr: extra operand ‘file’
Try 'tr --help' for more information.
$ tr 'a' 'b' < /path/to/file ## works because the file's contents are passed to tr
Tanto a substituição do comando quanto o operador de redirecionamento são definidos pelo POSIX (veja o link dado acima para a substituição do comando) e devem estar disponíveis em praticamente qualquer shell.
Outra ferramenta relevante é a substituição de comandos . Existem duas maneiras de escrever isso, você pode incluir um comando em backticks ( 'command'
) ou pode escrever $(command)
. Em geral, o último deve ser preferido, pois é uma sintaxe mais poderosa que pode lidar com vários comandos aninhados de forma mais limpa.
Então, para usar o conteúdo de um arquivo, você pode escrever:
command $(cat /path/to/file)
ou
command 'cat /path/to/file'