检索Julia中的外部命令输出

检索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

系统命令“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 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