qt中如何模拟shell里的echo命令?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了qt中如何模拟shell里的echo命令?相关的知识,希望对你有一定的参考价值。
比如在终端我输入: echo 1 > value 对着呢,可以把1写入到value文件中,可是我在qt中输入QProcess::execute("echo 1 > value");运行程序后却是在终端输出“1 > value”这个字符串
echo是bash的内建指令,你使用终端启动的是bash这个应用程序,如果想执行这个命令,你应该创建bash进程。 参考技术A 不带引号:system("echo 1 > value");但是输出结果带双引号的我还搞不定。带引号:system((const char *)QString::fromLocal 8Bit("echo 'filenam \"pxelinux 0\";#指定pxe引导程序文件名' >> %1").arg(qstring_file_path).toLocal8Bit(); 参考技术B 直接echo好像确实不行,可以通过读写文件的方式修改value的值,效果应该一样的
shell脚本中如何输出标准错误和标准输出
shell脚本中有些信息需要输出到标准输出有些需要输出到标准错误,如何实现
echo "错误信息" 1>&2这样就可以把错误信息字符串写到流里面,而不是直接写到文件中。
一般适合应用程序调用shell脚本返回错误信息到错误输出流中 参考技术A echo "errormsg" > &2; 标准错误
echo "infomsg" > &1; 标准输出本回答被提问者和网友采纳 参考技术B 给你举个例子吧
string=`echo hello`
就把字符串hello放到string变量中去了追问
没看懂你想表达什么。
参考技术C command 1>>stdout.log 2>>error.log追问我是要在脚本中把信息输出到标准错误流,不是把脚本中某个命令的错误流重定向到文件
我是要在脚本中把信息输出到标准错误流,不是把脚本中某个命令的错误流重定向到文件
追答其实是一样的,你在脚本中打印出来的东西都会进入标准输出
例如我在脚本中遍历文件,我逐行打印,执行的时候按照command 1>>stdout.log 2>>error.log的格式执行,那么你所打印的内容都会进入stdout.log ,至于错误信息,在bash下执行状态为非0的都会将错误记录到error.log
以上是关于qt中如何模拟shell里的echo命令?的主要内容,如果未能解决你的问题,请参考以下文章