Intereting Posts
Как автоматизировать отображение курсора под подсказкой на оболочке Как добавить новые строки из другого файла с помощью sed Разделить файл по количеству строк, включая заголовок в каждом из них Каковы разрешения времени выполнения задания cron? Linux Angstrom не может запускаться без последовательного подключения кабеля Использовать выделенный файл журнала для пользователя для cron и? Воспроизведение видеофайлов в Fedora генерирует git commit информацию с резиной (для LaTeX, Debian) iscsi target к папке установленного парирования? Создание if / than инструкции для перемещения файлов в другое место на основе значения 1 столбца? Поиск файлов с определенными расширениями поиск абсолютного каталога Как показать изменения для пакетов перед обновлением через apper или apt-get upgrade? Удалите файлы, не содержащие ".zip" в их имени файла. Как настроить видеопамять с виртуализацией KVM / QEMU?

Разница между «cat <file.txt» и «echo <file.txt»

У меня есть файл с именем file.txt, в котором есть некоторый контент: «abcdef», когда я делаю cat < file.txt Я получаю вывод abcdef, но когда я делаю echo < file.txt , вывод не возвращается. Почему перенаправление ввода не работает с эхом, но работает с cat?

Вы можете использовать echo для чтения file.txt (не для перенаправления) следующим образом:

 echo "$(<file.txt)" 

Пример вывода:

 abcdef 

Почему перенаправление ввода не работает с echo но работает с cat ?

Поскольку команда echo ничего не принимает от stdin, как cat , она принимает только параметры.

От man cat :

cat – конкатенация файлов и печать на стандартном выходе

конспект

cat [OPTION] … [FILE] …

Описание

Соедините FILE (ы) или стандартный ввод с стандартным выходом.

Из man echo :

echo – отображение строки текста

конспект

echo [SHORT-OPTION] … [STRING]

echo LONG-OPTION

Описание

Отрежьте STRING (s) до стандартного вывода.

(акцент мой)