使用system()函数调用Linux脚本


system()函数在<stdlib.h>函数库中,通过他可以调用Linux中的脚本。具体使用可以用 man system来看。

这个函数就一个参数,就是你要执行的命令的字符串。比如,调用的脚本位于/home/usr/joker/test.sh,那么就可以这样在c/c++中调用system("/home/usr/joker/test.sh") 。这个地方指明绝对路径是非常重要的。因为这个函数首先会检查环境变量中存在的路径,然后再检查本目录(c/c++程序运行的目录,不是编译的目录),如果脚本存在,那么就执行,否则返回失败。这里使用绝对路径,就是要保证该函数可以找到这个脚本,然后正确运行。

脚本中的内容也要注意,一定要指名所操作对象的所在位置,否则他会搜索c/c++程序所在的目录(同一级目录)。写的脚本中提供绝对路径,保证运行。还有在脚本中最好加足够的报错机制,保证能及时检验错误发生位置。

相关内容