首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用qtProcess运行linux echo命令的变量内容列表

使用qtProcess运行linux echo命令的变量内容列表
EN

Stack Overflow用户
提问于 2016-11-09 10:56:34
回答 2查看 88关注 0票数 2

我想使用GUI执行"echo“命令,该命令用于显示linux终端中的可变内容。我使用qProcess编写了这篇文章,但它只输出$SHELL作为输出。

代码语言:javascript
复制
QString cmd = "echo $SHELL";
QProcess *process = new QProcess;
process->start(cmd);
process->waitForBytesWritten();
process->waitForFinished();
qDebug() << process->readAll();`

Qt代码输出:$SHELL.

终端命令: intern2atlas SETUP$ echo $SHELL

输出:/bin/tcsh

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-09 12:14:58

这是代码的一个例子。请试一试:

代码语言:javascript
复制
   env.insert("TERM", "xterm");
    processo.setProcessEnvironment(env);

    //comando 1 - limpar a pasta
    comando = "echo";
    args.clear();
    args<<"$TERM";
    fullCommand = comando;
    for(int i = 0; i < args.count(); i++)
        fullCommand += " " + args.at(i);
    processo.start(comando,args,QIODevice::ReadOnly);
    processo.waitForFinished();
    stdOut = processo.readAllStandardOutput();
    stdError = processo.readAllStandardError();
    ui->commandTextEdit->append(fullCommand);
    ui->stdOutTextEdit->append(stdOut);
    ui->stdErrorTextEdit->append(stdError);

参考:http://www.qtcentre.org/threads/58131-Execute-system-command-from-QProcess

票数 0
EN

Stack Overflow用户

发布于 2016-11-09 11:13:31

使用QProcessEnvironmentqgetenv或类似的方法访问环境变量。如果您想要做的事情确实需要调用一个shell,那么首先传递该进程(例如,sh)。echo和QProcess都不是shell,因此不会为您解释环境变量$SHELL

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40505278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档