From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <45316462.8070806@altlinux.org> Date: Sun, 15 Oct 2006 02:27:46 +0400 From: Alexey Rusakov User-Agent: Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.8.0.5) Gecko/20060822 Thunderbird/1.5.0.5 Mnenhy/0.7.4.0 MIME-Version: 1.0 To: ALT Linux Community References: In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: [Comm] sh - bash X-BeenThere: community@lists.altlinux.org X-Mailman-Version: 2.1.9rc1 Precedence: list Reply-To: ALT Linux Community List-Id: ALT Linux Community List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Oct 2006 22:27:47 -0000 Archived-At: List-Archive: List-Post: Artem Zolochevskiy пишет: > hi all > > Просветите > > На пакет sh и bash описание одно и то же. > Всё, что я когда-то уяснил, это то, что сперва был sh (который чего-то там > не умел) а затем стал bash, который сейчас повсеместно и используется и > чего-то там умеет, чего не умел sh > > Собственно вопрос относительно написания скриптов > Отчего же тогда вижу везде #!/bin/sh (в стартовых сценариях итп) - если этот > sh такой старый и неумека? > > Ну и, если можно, пример можете привести где употребление > #!/bin/sh или #!/bin/bash может сказаться на работоспособности скрипта. > Т.е. какая такая фича может быть в скрипте, что при использовании #!/bin/sh > он работать не будет. > Насколько я понимаю, ситуация такая: вначале был Bourne shell, он же sh. sh есть на всех UNIX-системах, кроме тех, на которых используется Korn shell (ksh, соответственно). На Linux оригинальный sh если и есть, то встречается редко; вместо него используется Bourne Again shell (bash), который умеет в точности воспроизводить поведение предка. В современных системах sh - это тот же bash, но работающий в режиме совместимости с sh. Отличия работы bash в режиме совместимости лучше всего почитать в man bash, основное отличие - в режиме совместимости bash строго следует POSIX (м-да, о том, что это значит, тоже лучше читать в man bash). Ну в общем, я думаю, вы поняли, какое сокращение я избегаю здесь употребить :) -- Alexey "Ktirf" Rusakov