Перенаправление <"dir/file"
открывает файл для чтения на стандартном входе на время команды, к которой относится перенаправление. Когда нет никакой команды, файл открыт для чтения (который приводит к ошибке, если файл не существует или испытывает недостаток в верных полномочиях), но кроме которого перенаправление не имеет никакого эффекта.
Ksh добавил расширение, которое было принято ударом и ksh. Если замена команды содержит перенаправление ввода и ничто иное $(<"dir/file")
(никакая команда, никакое другое перенаправление, никакое присвоение, и т.д.), затем команда susbtitution заменяется содержанием файла. Таким образом $(<"dir/file")
эквивалентно $(cat "dir/file")
(за исключением того, что это не звонит cat
утилита, таким образом, это незначительно быстрее и делает то же самое даже если cat
был заменен или не находится в пути поиска команды).
Это упоминается в руководстве удара под “заменой команды”.