灰菲湮灭 发表于 2008-11-18 16:37

如何在C语言中调用脚本

如果想在c语言中调用一个单独的SHELL语句可以用system(),如system("ls");

那么如果我想调用一个由若干SHELL语句语句组成的一个脚本的时候,要如何调用呢?

假设我有一个a.sh
内容如下:
***************************

#!/usr/bin/env bash

myvar="hello"

myfunc() {

   myvar="one two three"
   for x in $myvar
   do
         echo $x
   done
}

myfunc

echo $myvar $x

***************************

我在C语言中要如何调用这个脚本呢??


一开始没说清楚,再补充一下。

我想实现的是把脚本里的内容写入C,最终a.sh是不存在的。

[ 本帖最后由 灰菲湮灭 于 2008-11-18 17:21 编辑 ]

MMMIX 发表于 2008-11-18 17:08

你写的这个脚本再赋予其可执行权限之后和 ls 一样,都是一个可执行文件,它们的地位是平等的,都可以用 system(3) 调用。

zhj1011 发表于 2008-11-18 17:16

回复 #1 灰菲湮灭 的帖子

system("./a.sh"); 就可以了啊

eveson 发表于 2008-11-18 17:22

记得加x权限

timespace 发表于 2008-11-18 18:07

回复 #1 灰菲湮灭 的帖子

看popen的使用方法

changzi100 发表于 2008-11-18 20:48

学习了!:em02:

zhj1011 发表于 2008-11-19 11:16

回复 #4 eveson 的帖子

点睛之笔

yff1030 发表于 2012-08-09 08:17

回复 3# zhj1011

谢谢了,我也在想这个问题

   

lang0728 发表于 2012-08-18 21:44

二楼和三楼的朋友说的对,

_Rayx 发表于 2012-08-18 21:57

恩。system的用处是无穷的。
页: [1] 2
查看完整版本: 如何在C语言中调用脚本