From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Tue, 29 Sep 2009 13:19:16 +0400 From: Vladislav Zavjalov To: ALT Linux Team development discussions Message-ID: <20090929091916.GA32573@imap.altlinux.org> References: <20090929090731.GI6196@wrars-comp.wrarsdomain> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20090929090731.GI6196@wrars-comp.wrarsdomain> User-Agent: Mutt/1.4.2.3i Subject: Re: [devel] bash vs. ash 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: Tue, 29 Sep 2009 09:19:16 -0000 Archived-At: List-Archive: List-Post: On Tue, Sep 29, 2009 at 03:07:31PM +0600, Andrey Rahmatullin wrote: > On Tue, Sep 29, 2009 at 01:03:07PM +0400, Stanislav Ievlev wrote: > > Хотелось бы узнать: какие есть препятствия для того чтобы поступить > > как Debian - залинковать sh на ash и оставить bash только для > > любителей башизмов? > Отсутствие checkbashisms(1) Я б, конечно, тоже, сделал sh->ash. Но совершенно непонятно же, кто и где разломается. Наверное, все-таки надо придумать более плавные переходные мероприятия. Собрать список несовместимостей на wiki, придумать тесты ("у вас тут ${a//}, а в заголовке /bin/sh!"), может вообще настоятельно рекомендовать в заголовке всегда указывать явно ash/bash... Я уже тут многим хвастался драматическим произведением на тему совместимости ash и bash. Со счастливым концом :) Надо было мне напечатать непечатное, и произошел у bash и ash такой примерно диалог: # ash -c 'echo "\117\113"' OK # bash -c 'echo "\117\113"' \117\113 # bash -c "echo $'\117\113'" OK # ash -c "echo $'\117\113'" $OK $ ash -c "echo '\117\113'" OK $ bash -c "echo '\117\113'" \117\113 # bash -c 'echo -e "\0117\0113"' OK # ash -c 'echo -e "\0117\0113"' -e OK # bash -c "echo $'\x4F\x4B'" OK # ash -c "echo $'\x4F\x4B'" $\x4F\x4B ... # bash -c 'printf "\117\113\n"' OK # ash -c 'printf "\117\113\n"' OK