Você pode usar echo
para ler file.txt
(para não redirecionar) da seguinte forma:
echo "$(<file.txt)"
Exemplo de saída:
abcdef
Eu tenho um arquivo chamado file.txt que tem algum conteúdo que diz 'abcdef', quando eu faço cat < file.txt
eu recebo a saída abcdef mas quando eu faço echo < file.txt
, nenhuma saída é retornada. Por que o redirecionamento de entrada não funciona com o eco, mas funciona com o gato?
Why doesn't the input redirection work with
echo
but works withcat
?
Como o comando echo
não aceita nada de stdin como cat
, ele aceita apenas parâmetros.
De man cat
:
cat - concatenate files and print on the standard output
Synopsis
cat [OPTION]... [FILE]...
Description
Concatenate FILE(s), or standard input, to standard output.
De man echo
:
echo - display a line of text
Synopsis
echo [SHORT-OPTION]... [STRING]...
echo LONG-OPTION
Description
Echo the STRING(s) to standard output.
(ênfase minha)
Tags echo cat io-redirection