Что происходит, если не указать имена файлов?
Одна из распространённых ошибок в shell-скриптах (и при интерактивной работе) — указать имена файлов не на том месте. Если вы введёте:
tail -n 3
то, поскольку команде tail не передано ни одного файла,
она будет ждать ввода с клавиатуры.
Это значит, что если вы введёте:
head -n 5 | tail -n 3 somefile.txt
то tail выведет последние три строки файла somefile.txt,
а head будет бесконечно ждать ввода с клавиатуры,
поскольку ей не передан файл и нет никаких данных из предыдущей команды в конвейере.
Предположим, вы случайно ввели:
head -n 5 | tail -n 3 somefile.txt
Что следует сделать в этом случае?
Это упражнение является частью курса
Введение в Shell
Практическое интерактивное упражнение
Превратите теорию в практику с помощью одного из наших интерактивных упражнений
Начать упражнение