在终端运行Stata时,如何让display命令内容输出到终端?
解决Stata批处理模式下display内容输出到终端的问题
方法1:用log命令的screen选项同步输出到终端和日志
在test.do开头添加日志配置,让内容同时输出到终端和日志文件:
// 关闭已有日志防止冲突 capture log close _all // 开启日志,同时输出到终端和文件 log using test.log, replace screen // 你的display语句 display "Hello world" // 关闭日志(可选) log close
运行stata-mp -b do test.do时,display的内容会同时出现在终端和test.log里。
方法2:通过shell命令单独输出到终端
如果只需要特定内容显示在终端,可以把display的内容存到宏,再用shell的echo命令输出:
local msg "Hello world" // 写入日志 display "`msg'" // 打印到终端 !echo "`msg'"
这种方式下,display负责写入日志,!echo直接把内容输出到终端,适合只需要部分内容显示在终端的场景。
方法3:不使用批处理模式直接运行
如果不需要严格的批处理模式,直接执行以下命令:
stata-mp do test.do
此时Stata在终端会话中运行,display的内容直接输出到终端。如果需要生成日志,在test.do里加上log using test.log, replace即可。
内容的提问来源于stack exchange,提问作者Slash
相关产品推荐
相关产品推荐

