Получение вывода файла c в переменную bash - PullRequest
2 голосов
/ 30 апреля 2020

У меня есть c файл, который проверяет, есть ли! в приведенном аргументе (ie ./a.out hi!) и вернуть 0, если это произойдет, и 1, если это не так, что работает, как и должно.

Мне нужно сделать bash файл оболочки (. sh), использующий файл c для проверки наличия в файлах в каталоге символа ie. если в каталоге есть собаки!. sh fly!. c ring.txt, выполнение ./script.sh должно вернуть

dogs!.sh
fly!.c

Но я понятия не имею, как это сделать? Кто-нибудь может помочь?

1 Ответ

3 голосов
/ 30 апреля 2020

Ваша строка компиляции:

gcc includes.c

Создает программу вывода с именем a.out. Вам нужно запустить эту команду , а не пытаться выполнить ваш C источник в виде сценария оболочки, что и делает ваш текущий сценарий. Пример:

ret=$(./a.out ${file})

Вам не нужен ret, поскольку ваша программа не имеет выходных данных. Просто проверьте выходное значение.

if [[ $? -eq 0 ]]

От редакции. В этом ответе предполагается, что при задании этого вопроса вы скопировали / вставили что-то неправильное, поскольку в сообщении об ошибке указано alpha.c, но это нигде больше не упоминается. , И что вы исправляете синтаксические ошибки в вашей C программе тоже!

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