我有一个ubuntu应用程序,我试图从它执行bash脚本,但它似乎没有工作。我尝试用system()
做这件事 #include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main(int argc, char *argv[])
{
// tried both
system("./script.sh");
// system ("script.sh")
}
另外,我试过研究这个但没有找到解决方案;是否也可以在文本框中读取输出和显示。
答案 0 :(得分:0)
使用popen()
。
FILE *script;
char line[LINESIZE];
script = popen("./script.sh", "r");
while (fgets(line, sizeof(line), script)) {
...
}
pclose(script);
您正在运行脚本并不重要。这适用于任何shell命令。
答案 1 :(得分:0)
对于任何想在QT中做到这一点的人来说,这就是我所做的:
QProcess proc;
proc.start("gnome-terminal", QIODevice::ReadWrite);
if (proc.waitForStarted() == false) {
qDebug() << "Error starting terminal process";
qDebug() << proc.errorString();
return (-1);
}