ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] Передача аргумента с пробелом внутри
@ 2008-06-22 22:11 Vitaly Lipatov
  2008-06-22 22:17 ` Dmitry V. Levin
  0 siblings, 1 reply; 5+ messages in thread
From: Vitaly Lipatov @ 2008-06-22 22:11 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 683 bytes --]

Пытаюсь передать --define='_source_payload w9.gzdio' в rpmbuild
и по дороге аргумент разрывается на две части по пробелу.
Пример скрипта приложен (запустить в каталоге с любым спеком 
test.spec).
У меня такой вывод:
$ ./test_arg.sh
test.spec --define='_source_payload w9.gzdio' --nodeps
ошибка: Недопустимое имя (%define) макроса %
ошибка: Недопустимое имя (%define) макроса %
Платформы для сборки: i586
Сборка для платформы i586
Записан: /home/lav/RPM/SRPMS/test-1.1.2-alt0.M40.1.src.rpm

Возможно ли вообще коррктно передавать такие параметры между 
функциями в shell?

-- 
С уважением,
Виталий Липатов
Санкт-Петербург
GNU! ALT Linux Team! WINE! LaTeX! LyX! http://freesource.info

[-- Attachment #2: test_arg.sh --]
[-- Type: application/x-shellscript, Size: 200 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [devel] Передача аргумента с пробелом внутри
  2008-06-22 22:11 [devel] Передача аргумента с пробелом внутри Vitaly Lipatov
@ 2008-06-22 22:17 ` Dmitry V. Levin
  2008-06-22 22:44   ` Vitaly Lipatov
  0 siblings, 1 reply; 5+ messages in thread
From: Dmitry V. Levin @ 2008-06-22 22:17 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 492 bytes --]

On Mon, Jun 23, 2008 at 02:11:45AM +0400, Vitaly Lipatov wrote:
> Пытаюсь передать --define='_source_payload w9.gzdio' в rpmbuild
> и по дороге аргумент разрывается на две части по пробелу.
> Пример скрипта приложен

Вот что там происходит, на более простом примере:

$ rpmbuild -bs "--define='_source_payload w9.gzdio' --nodeps" /dev/null 
ошибка: Недопустимое имя (%define) макроса %
ошибка: Недопустимое имя (%define) макроса %
ошибка: Не обычный файл: /dev/null.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [devel] Передача аргумента с пробелом внутри
  2008-06-22 22:17 ` Dmitry V. Levin
@ 2008-06-22 22:44   ` Vitaly Lipatov
  2008-06-22 22:56     ` Dmitry V. Levin
  0 siblings, 1 reply; 5+ messages in thread
From: Vitaly Lipatov @ 2008-06-22 22:44 UTC (permalink / raw)
  To: ALT Devel discussion list

On 23 июня 2008, Dmitry V. Levin wrote:
> On Mon, Jun 23, 2008 at 02:11:45AM +0400, Vitaly Lipatov wrote:
> > Пытаюсь передать --define='_source_payload w9.gzdio' в
> > rpmbuild и по дороге аргумент разрывается на две части по
> > пробелу. Пример скрипта приложен
>
> Вот что там происходит, на более простом примере:
>
> $ rpmbuild -bs "--define='_source_payload w9.gzdio' --nodeps"
> /dev/null ошибка: Недопустимое имя (%define) макроса %
> ошибка: Недопустимое имя (%define) макроса %
> ошибка: Не обычный файл: /dev/null.
Да. Осталось понять, возможно ли передать в функцию shell 
параметры в сохранности, или нет.


-- 
С уважением,
Виталий Липатов
Санкт-Петербург
GNU! ALT Linux Team! WINE! LaTeX! LyX! http://freesource.info


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [devel] Передача аргумента с пробелом внутри
  2008-06-22 22:44   ` Vitaly Lipatov
@ 2008-06-22 22:56     ` Dmitry V. Levin
  2010-07-01 22:31       ` Dmitry V. Levin
  0 siblings, 1 reply; 5+ messages in thread
From: Dmitry V. Levin @ 2008-06-22 22:56 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 914 bytes --]

On Mon, Jun 23, 2008 at 02:44:03AM +0400, Vitaly Lipatov wrote:
> On 23 июня 2008, Dmitry V. Levin wrote:
> > On Mon, Jun 23, 2008 at 02:11:45AM +0400, Vitaly Lipatov wrote:
> > > Пытаюсь передать --define='_source_payload w9.gzdio' в
> > > rpmbuild и по дороге аргумент разрывается на две части по
> > > пробелу. Пример скрипта приложен
> >
> > Вот что там происходит, на более простом примере:
> >
> > $ rpmbuild -bs "--define='_source_payload w9.gzdio' --nodeps"
> > /dev/null ошибка: Недопустимое имя (%define) макроса %
> > ошибка: Недопустимое имя (%define) макроса %
> > ошибка: Не обычный файл: /dev/null.
> Да. Осталось понять, возможно ли передать в функцию shell 
> параметры в сохранности, или нет.

Конечно, но сперва надо уловить, как работает квотирование в shell;
см. напр. bash(1) про QUOTING.
В /bin/shell-quote есть готовый инструмент для более сложных случаев.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [devel] Передача аргумента с пробелом внутри
  2008-06-22 22:56     ` Dmitry V. Levin
@ 2010-07-01 22:31       ` Dmitry V. Levin
  0 siblings, 0 replies; 5+ messages in thread
From: Dmitry V. Levin @ 2010-07-01 22:31 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 1131 bytes --]

On Mon, Jun 23, 2008 at 02:56:33AM +0400, Dmitry V. Levin wrote:
> On Mon, Jun 23, 2008 at 02:44:03AM +0400, Vitaly Lipatov wrote:
> > On 23 июня 2008, Dmitry V. Levin wrote:
> > > On Mon, Jun 23, 2008 at 02:11:45AM +0400, Vitaly Lipatov wrote:
> > > > Пытаюсь передать --define='_source_payload w9.gzdio' в
> > > > rpmbuild и по дороге аргумент разрывается на две части по
> > > > пробелу. Пример скрипта приложен
> > >
> > > Вот что там происходит, на более простом примере:
> > >
> > > $ rpmbuild -bs "--define='_source_payload w9.gzdio' --nodeps"
> > > /dev/null ошибка: Недопустимое имя (%define) макроса %
> > > ошибка: Недопустимое имя (%define) макроса %
> > > ошибка: Не обычный файл: /dev/null.
> > Да. Осталось понять, возможно ли передать в функцию shell 
> > параметры в сохранности, или нет.
> 
> Конечно, но сперва надо уловить, как работает квотирование в shell;
> см. напр. bash(1) про QUOTING.
> В /bin/shell-quote есть готовый инструмент для более сложных случаев.

Наглядный пример реализации с использованием shell-quote:
$ gear-rpm -bp --define='_source_payload w9.gzdio'


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2010-07-01 22:31 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-06-22 22:11 [devel] Передача аргумента с пробелом внутри Vitaly Lipatov
2008-06-22 22:17 ` Dmitry V. Levin
2008-06-22 22:44   ` Vitaly Lipatov
2008-06-22 22:56     ` Dmitry V. Levin
2010-07-01 22:31       ` Dmitry V. Levin

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git