[英]can't get stdout of gvim into a bash variable
在尝试回答这个问题时,我正在尝试gvim --echo-wid
,我认为它将与xdotool
一起xdotool
。
也许只是脑筋急转弯,但我很难过将gvim --echo-wid
的输出转换为bash变量而不阻塞的时间 。
X=`gvim --echo-wid`
不起作用,反引号捕获似乎阻止了gvim进行分叉和分派。 X
仅在gvim终止后设置。
X=`gvim --echo-wid &`; echo "got: $X"
相同的故事。
mkfifo $F
(gvim --echo-wid > $F) &
X=`cat $F`
要么
mkfifo $F
(gvim --echo-wid & > $F) &
X=`cat $F`
相同的故事。
我想要
或以其他任何方式可以获得wmctrl或xdotool或某些等效项的gvim的窗口ID(不查询某些列表,我想直接转到该实例的窗口,而不会发生字符串被黑客入侵)。
尽管在这一点上,我真的只是好奇为什么捕获无法正常工作。 是什么赋予了?
如果输出到stderr,则需要重定向
X=`gvim --echo-wid 2>&1`
当gvim启动时,它将为gui派生一个新进程,该进程可以在后台运行,但是直到整个程序关闭,stdout才会关闭。
如果将gvim用管道输送到头部,则stdout将关闭,反引号将停止阻塞。
X=`gvim --echo-wid | head -n 1`
echo "got $X"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.