将c文件的输出获取到bash变量中

将c文件的输出获取到bash变量中,c,bash,C,Bash,我有一个c文件,可以检查是否有错误!在给定的参数中(即./a.out hi!),如果是,则返回0,如果不是,则返回1,这是它应该运行的 我需要创建一个bashshell文件(.sh),该文件使用c文件检查目录中的文件是否包含该字符,即目录是否包含dogs!。嘘,飞!。c ring.txt,正在执行./script.sh应该返回 dogs!.sh fly!.c 但我不知道怎么做? 有人能帮忙吗?您的编译行: gcc includes.c 将生成一个名为a.out的输出程序。您需要运行该命令,而

我有一个c文件,可以检查是否有错误!在给定的参数中(即./a.out hi!),如果是,则返回0,如果不是,则返回1,这是它应该运行的

我需要创建一个bashshell文件(.sh),该文件使用c文件检查目录中的文件是否包含该字符,即目录是否包含dogs!。嘘,飞!。c ring.txt,正在执行./script.sh应该返回

dogs!.sh
fly!.c
但我不知道怎么做? 有人能帮忙吗?

您的编译行:

gcc includes.c
将生成一个名为
a.out
的输出程序。您需要运行该命令,而不是尝试将C源代码作为shell脚本执行,而当前脚本正是这样做的。例如:

ret=$(./a.out ${file})
但是,由于程序没有输出,因此不需要使用
ret
。只需检查退出值

if [[ $? -eq 0 ]]

编辑注:此答案假设您在提出此问题时复制/粘贴了错误的内容,因为您的错误消息显示
alpha.c
,但在其他任何地方都没有提到。而且你也修复了C程序中的语法错误

我认为您在c文件中留下了一个无关的
}
,就在
else
语句旁边。如果
块没有使用括号,那么当它到达下一个括号时,它认为您正在结束
main()
例程。如果a.out“$file”
,您还可以直接检查返回值
。。。