From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Fri, 7 May 2004 15:07:19 +0500 From: Andrew Fefilov To: community@altlinux.ru Subject: Re: [Comm] bash trouble Message-ID: <20040507100719.GA21123@faa.lan.blok-caf.ru> References: <20040507070048.GA10900@faa.lan.blok-caf.ru> <20040507093128.GB9007@master.mivlgu.local> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20040507093128.GB9007@master.mivlgu.local> X-BeenThere: community@altlinux.ru X-Mailman-Version: 2.1.4 Precedence: list Reply-To: community@altlinux.ru List-Id: Mailing list for ALT Linux users List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 May 2004 10:07:21 -0000 Archived-At: List-Archive: List-Post: On Fri, May 07, 2004 at 01:31:28PM +0400, Sergey Vlasov wrote: > On Fri, May 07, 2004 at 12:00:48PM +0500, Andrew Fefilov wrote: > > Добрый день, уважаемые. Вот наткнулся на непонятки в bash scripting. Сижу > > грепаю man bash, но пока не просветвляет. Может кто подскажет, если не в > > лом. Ситуация такая - скриптику через аргуметы передается имя файла, в > > котором имеется несколько пробелов, идущих подряд. Видимо, bash > > обрабатывает строку аргументов, разбивая ее на позиционные параметры, > > которые он считает разделены пробелами. В результате этого, мой аргумет > > приводится к виду, когда вместо несколько идущих пробелов остается только > > один. Поскольу это имя файла - то сие неприемлемо. Вот для наглядности: > > > > [faqa@faa 444]$ ./proba "/ttt/kkk/lll kkk" > > /ttt/kkk/lll kkk > > > > [faqa@faa 444]$ cat ./proba > > #!/bin/bash > > echo $1 > > > > > > Как видно из примера, в аргументе между "lll" и "kkk" стоит два пробела. А > > в выводе скрипта уже остается только один. Как бы эти грабельки обойти? > > echo "$1" Хм. Работает. Только не понятно, почему. Сергей, хотя бы ключевое слово/выражение по которому порыскать по man bash, можно ? -- С уважением, Фефилов Андрей.