我想通过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?
答案 0 :(得分:0)
尝试编写该脚本的绝对路径。它应该工作。
您可以尝试system("/home/$(whoami)/some_folder/run.sh")
,假设您的用户的主文件夹位于/home
。
此外,该脚本是否具有执行权限?另外,检查系统的返回码。