[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