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
echobut 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