#!/bin/sh
...
exec 7<&0 </dev/null 6>&1
...Не могу распарсить. Помогите.
#!/bin/shВсегда происходит запись в:
>/dev/nullИ считывание с:
</dev/zeroСчитывание с /dev/null использовался не должно как и запись в /dev/zero.
>
> #!/bin/sh
> ...
> exec 7<&0 </dev/null 6>&1
> ...
>
> Не могу распарсить. Помогите.Помоги себе сам: https://www.opennet.dev/docs/RUS/bash_scripting_guide/c11620....
Я знаю, ты сможешь.
Спасибо за ссылку.Понятно:
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.dev/opennews/art.shtml?num=53545 "Для взаимодействия клиента с модулем ядра используется псевдоустройство, например /dev/zero. Модуль ядра выполняет разбор всех записываемых в устройство данных" и зделал:
cmod 444 /dev/zero
cmod 222 /dev/null
Все скрипты и проги работают. А вот configure при компиляции некоторых пакетов падает при попытке считать с /dev/null в указанной строке.
Очевидно, смысл и есть в том, чтобы не считывалось ничего. Зачем — это по контексту надо смотреть. Возможно, там запускается какая-то программа, которая иначе ждала бы пользовательского ввода.