检索Julia中的外部命令输出
系统命令“stty size”返回两个整数,这两个整数表示当前终端的维度。Julia如何执行此命令并以两个整数变量返回输出。您可以创建一个管道并将stdout重定向到缓冲区,然后解析字符串:检索Julia中的外部命令输出,julia,Julia,系统命令“stty size”返回两个整数,这两个整数表示当前终端的维度。Julia如何执行此命令并以两个整数变量返回输出。您可以创建一个管道并将stdout重定向到缓冲区,然后解析字符串: julia> io = IOBuffer(); julia> cmd = pipeline(`stty size`; stdout=io, stderr=devnull); julia> run(cmd); julia> str = String(take!(io)) "60
julia> io = IOBuffer();
julia> cmd = pipeline(`stty size`; stdout=io, stderr=devnull);
julia> run(cmd);
julia> str = String(take!(io))
"60 211\n"
julia> a, b = parse.(Int, split(strip(str)));
julia> a
60
julia> b
211
注意:通常可以直接
读取
命令,例如读取(`stty size`)、字符串)
,但对于这个特定的命令,它似乎不起作用,我认为这是因为在这种情况下没有设置正确的tty):
完美的我也试过了,但没有成功:read(
stty size
,String)。非常感谢。
julia> read(`stty size`, String)
stty: 'standard input': Inappropriate ioctl for device