在C程序中使用bash脚本代码

我的问题如下:我有这个bash脚本:
#!/bin/bash

 IFSBAK=$IFS
 if [ "$TXTEXT" = "" ]; 
 then
   CMD="find . -iname "*.txt" -or -iname "*.text""
 else
CMDTEMP="find . "
IFS=":"
for i in $TXTEXT
do
    CMDTEMP="${CMDTEMP} -iname "*.${i}" -or"
done
IFS=$IFSBAK
CMD=${CMDTEMP%-or}
 fi

 FILES=$(eval $CMD)
 OUTPUT=$1

 for f in $FILES
 do
VAR=$(grep -ae [a-zA-Z0-9] "$f" | tr -cs "[:alnum:]" "n")
IFS=$' nt-?=!*][.",();'`´:'   
for v in $VAR
do
    echo $v >> "${OUTPUT}"
done
IFS=$' nt'
 done
我需要在C程序中插入此代码。我试图在一行上重新编写所有脚本直接用shell测试它并且它可以正常工作,但是我遇到引号问题并且尝试使用它作为system()调用的参数。 你能建议我出路吗? 谢谢您的帮助     
已邀请:
如果您真的别无选择,只能提供单个二进制文件而无法发送带有二进制文件的shell脚本文件,请考虑以下事项: 在单个文字中包含脚本的内容 在执行程序期间,将文字的内容打印到临时文件。您可能需要一些策略来提供唯一的文件名。 通过
system()
调用来调用临时脚本 删除临时文件 但是,请将此视为最后的手段。     
将它放入shell脚本并从C代码中调用shell脚本。更容易维护恕我直言。     
#define SHELLSCRIPT "
...
write your shell script code here
...
"



   int main()
    {

        system(SHELLSCRIPT);
        return 0;
        //put the bash to C program 
    }
    

要回复问题请先登录注册