[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