From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-4.3 required=5.0 tests=ALL_TRUSTED,BAYES_00, RP_MATCHES_RCVD autolearn=unavailable autolearn_force=no version=3.4.1 To: devel@lists.altlinux.org References: <20201212012833.GG21271@altlinux.org> <68239d92-1220-a5c3-f6e2-43948b2c14aa@ya.ru> <20201215032352.GH21271@altlinux.org> <9637d9e0-6a96-8d60-b7c7-ce8ab6162152@ya.ru> <20201215041557.GI21271@altlinux.org> From: Alexey Sheplyakov Message-ID: Date: Wed, 30 Dec 2020 18:22:46 +0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <20201215041557.GI21271@altlinux.org> Content-Type: text/plain; charset=koi8-r; format=flowed Content-Language: ru-RU Content-Transfer-Encoding: 8bit Subject: Re: [devel] sysvinit + udev X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Dec 2020 14:22:50 -0000 Archived-At: List-Archive: List-Post: Добрый вечер! 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 недели)