[devel] sysvinit + udev
Alexey Sheplyakov
asheplyakov на basealt.ru
Ср Дек 30 17:22:46 MSK 2020
Добрый вечер!
On 12/15/20 8:15 AM, Alexey V. Vissarionov wrote:
> On 2020-12-15 10:38:47 +0700, Антон Мидюков wrote:
>
> >>>>> /dev/stderr -> /proc/self/fd/2
> >>>>> /dev/stdout -> /proc/self/fd/1
> >>>>> /dev/stdin -> /proc/self/fd/0
> >>>>> /dev/fd -> /proc/self/fd/
> >>>> Какой в них смысл, если они всегда указывают в /proc/self ?
> >>> Сломался startup-mediacheck, а именно:
> >>> while read i; do
> >>> done < <(checkisomd5 --gauge "$dev" 2>&1) # hence bash
> >>> без /dev/fd не работает.
> >> Значит, и чинить надо именно startup-mediacheck - просто потому,
> >> что все необходимое для работы ему доступно и без костыля.
> > Но проблема то шире. Некоторые bash-скрипты не будут работать
> > на sysvinit из-за отсутствия /dev/fd. Очевидно же?
>
> Ну вот эти скрипты и надо чинить. Вместо /dev/fd/ использовать
> /proc/self/fd/, вместо /dev/stdin - /proc/self/fd/0 итд.
P - portability
/dev/stdin есть во многих *NIX, а /proc/self/fd - только в Linux.
Потому есть много программ (не только скриптов) и, что более
существенно - документации, где используется именно /dev/stdin.
Чинить их все - сильно затратно, проще сделать, чтоб был /dev/stdin
(прошу прощения за тормозной путь в 2 недели)
Подробная информация о списке рассылки Devel