Модераторы: powerfox, ZeeLax
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> shell: передача параметров в функцию с кавычками? 
V
    Опции темы
victor79
Дата 4.8.2013, 09:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


программист
*


Профиль
Группа: Участник
Сообщений: 211
Регистрация: 15.5.2008

Репутация: нет
Всего: нет



создаю я небольшой shell файл (#! /bin/sh).
есть команда, часть параметров у которой в кавычках.
Если ее выполнять непосредственно, как команду, то выполняется нормально,
но если ее передать в качестве параметра функции то она уже не выполняется:
Код

run()
{
   echo $*
   $*
}
run "../configure --prefix=/f/mbuild/release CPPFLAGS='-s -O2'"

делает такой вывод на экран:
Код

../configure --prefix=/f/mbuild/release CPPFLAGS='-s -O2'
configure: error: unrecognized option: `-O2''
Try `../configure --help' for more information.

пробовал и без двойных кавычек.
как правильно писать такие команды?

причем проходит вариант:
Код

run()
{
   echo $*
   $*
}

a= ../configure --prefix=/f/mbuild/release CPPFLAGS='-s -O2'
run $a

 - с использованием дополнительной переменной, а без переменной не проходит


Это сообщение отредактировал(а) victor79 - 4.8.2013, 12:20
PM MAIL WWW   Вверх
victor79
Дата 4.8.2013, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


программист
*


Профиль
Группа: Участник
Сообщений: 211
Регистрация: 15.5.2008

Репутация: нет
Всего: нет



прошел вариант:
Код

run()
{
   echo $*
   eval $*
}
run ../configure --prefix=/f/mbuild/release CPPFLAGS=\'-s -O2\'

всем спасибо за внимание
PM MAIL WWW   Вверх
bilbobagginz
Дата 5.8.2013, 23:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



правильное решение:
Код

run()
{
   echo $*
   $*
}
run "../configure --prefix=/f/mbuild/release CPPFLAGS='-s\ -O2'"



--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Oбщие вопросы"
nickless
Imple
nerezus

В тему здесь вопросы общие - не привязанные к определенному ПО или дистрибутиву BSD/Linux/UNIX.
Например вопросы о выборе ОС для определенных задач (но если Вы просто хотите узнать "Какой дистрибутив лучше", то для этого есть Клуб юнуксоидов).
Общие вопросы по shell-программированию тоже лучше задавать здесь.


  • Вопросы мобильной разработки тут
  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | *NIX системы: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0795 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.