Спасибо за ссылку.Понятно:
exec 7<&0 6>&1
Так тоже было бы понятно:
exec 7<&0 <$EOF 6>&1
А вот так
exec 7<&0 </dev/null 6>&1
Меня смущает чтение с null хоть в доке написано: https://man7.org/linux/man-pages/man4/null.4.html
"Reads from /dev/null always return end of file"
Прочел https://www.opennet.me/opennews/art.shtml?num=53545 "Для взаимодействия клиента с модулем ядра используется псевдоустройство, например /dev/zero. Модуль ядра выполняет разбор всех записываемых в устройство данных" и зделал:
cmod 444 /dev/zero
cmod 222 /dev/null
Все скрипты и проги работают. А вот configure при компиляции некоторых пакетов падает при попытке считать с /dev/null в указанной строке.