Возврат строки в программу C скрипта Bash Script, которую нужно распечатать на экране - PullRequest
0 голосов
/ 27 ноября 2018

Я пытаюсь написать bash-скрипт для запуска в системе Ubuntu.

Идея состоит в том, что сценарий должен инициализировать рекламную программу на Си.Код C создает папку и сохраняет в ней данные, поступающие из АЦП, при этом он выводит количество приобретений.

Что нужно сделать, это вернуть имя папки, созданной в коде, сценарию bash, чтобы иметь возможность его скопировать.Проблема в том, что, как я понял, код может возвращать только 8-битный INT, а не целую строку.Использование fprint также не является решением, потому что мне нужно вывести на экран количество приобретений, а не только имя папки.

Какие-либо альтернативные решения, о которых я не знаю?

Ответы [ 2 ]

0 голосов
/ 27 ноября 2018

Программа может записать имя каталога, скажем, дескриптор файла 3, а затем перехватить его через оболочку, выполнив

program 3>dir.txt 
0 голосов
/ 27 ноября 2018

(Плохо) Способы «возврата» строки из программы на C

Как вы сказали, программа может вернуть только один код возврата .Код возврата, как следует из его названия, предназначен для информирования об успешном выполнении программы, а не для возврата данных.

В вашем случае вы можете вернуть имя папки несколькими способами:

Обе эти опции плохие, потому что вам нужно знать, куда будет записан результат (имя переменной среды пути к файлу)

Что вы должны сделать

Чтобы решить эту проблему, нужно перевернуть проблему и передать папку, в которую ваша программа на C пишет, как аргумент .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...