Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: запуск из bash поги на си c параметрами  (Прочитано 1805 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн BorisBritva

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Подскажите плиз.

Есть bash и в нем формируются 2 переменные.
Как запустить прогу на си и передать туда два параметра из переменных, и получить ответ от проги?

Спасибо.

Punko

  • Гость
Re: запуск из bash поги на си c параметрами
« Ответ #1 : 12 Февраля 2016, 01:01:35 »
BorisBritva,
Получить ответ в скрипт? Я точно не знаю, но передавать аргументы удобно через xargs, почитайте. Если программа запускается не из скрипта, то, наверно нужно чтоб скрипт возвращал нужные значения (аналог функции, чтоль).
Что касается возврата значений в скрипт - то тоже можно сделать возврат значений из функции и передавать через xargs значения в скрипт, обрабатывать через $1...$n.
А вообще я не знаю, можно ли в баше сделать что-то типа такого:
%varname = %programmname param1 param2, но подозреваю, что можно.

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: запуск из bash поги на си c параметрами
« Ответ #2 : 12 Февраля 2016, 01:12:30 »
Если «прога на Си» принимает аргументы в командной строке
Код: (bash) [Выделить]
responce=$(proga_na_c var1 var2)
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн BorisBritva

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Re: запуск из bash поги на си c параметрами
« Ответ #3 : 12 Февраля 2016, 01:27:36 »
Если «прога на Си» принимает аргументы в командной строке
Код: (bash) [Выделить]
responce=$(proga_na_c var1 var2)

а как запустить?))

Пользователь решил продолжить мысль [time]12 Февраль 2016, 02:50:22[/time]:
как правильно?

так:

responce=$(./proga var1 var2)

source $responce

не выходит

Пользователь решил продолжить мысль [time]12 Февраль 2016, 03:12:21[/time]:
Если «прога на Си» принимает аргументы в командной строке
Код: (bash) [Выделить]
responce=$(proga_na_c var1 var2)

а как запустить?))

Пользователь решил продолжить мысль [time]12 Февраль 2016, 02:50:22[/time]:
как правильно?

так:

responce=$(./proga var1 var2)

source $responce

не выходит

Спасибо. Разобрался. перед var1 и var2 должен стоять знак - $
и еще у мня путь не так прописнн был до проги

Пользователь решил продолжить мысль 12 Февраля 2016, 02:13:55:
ну и ну и запускать через echo
« Последнее редактирование: 12 Февраля 2016, 02:13:55 от BorisBritva »

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: запуск из bash поги на си c параметрами
« Ответ #4 : 12 Февраля 2016, 14:04:59 »
Не надо никаких echo/path_to/proga "$var1" "$var2"
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн BorisBritva

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Re: запуск из bash поги на си c параметрами
« Ответ #5 : 12 Февраля 2016, 17:01:50 »
Не надо никаких echo/path_to/proga "$var1" "$var2"
Спасибо за ответ.
Но я через echo сразу пишу ответ проги в лог файл

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4062
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
Re: запуск из bash поги на си c параметрами
« Ответ #6 : 12 Февраля 2016, 17:46:19 »
Но я через echo сразу пишу ответ проги в лог файл
Код: (bash) [Выделить]
program >> file # дозапись
program > file # перезапись
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

 

Страница сгенерирована за 0.063 секунд. Запросов: 25.