[Comm] bash trouble

Andrew Fefilov =?iso-8859-1?q?faqa_=CE=C1_blok-caf=2Eru?=
Пт Май 7 14:07:19 MSD 2004


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, можно ?

-- 
С уважением,
Фефилов Андрей.



Подробная информация о списке рассылки community