Nodejs和UNIX newbie:在cpp程序中运行node命令

时间:2014-01-26 16:02:36

标签: c++ bash unix

我想通过system()中的stdlib.h函数运行nodejs程序。我可以在终端中运行bash命令/usr/local/bin/node ~/some_folder/xml2js.js,但是当我运行它时:

int main(int argc, const char * argv[])
{

    // insert code here...
    //system("/usr/local/bin/node ~/some_folder/xml2js.js");
    system("~/some_folder/run.sh");
    std::cout << "Hello, World!\n";
    return 0;
}

它告诉我node: command not found。 run.sh如下:

#! /bin/bash
node ./xml2js.js

还有其他方法可以在UNIX中调用其他程序吗?以及如何将命令输出到stdout?

1 个答案:

答案 0 :(得分:0)

尝试编写该脚本的绝对路径。它应该工作。

您可以尝试system("/home/$(whoami)/some_folder/run.sh"),假设您的用户的主文件夹位于/home

此外,该脚本是否具有执行权限?另外,检查系统的返回码。