can';t将gvim的stdout放入bash变量
在尝试回答问题时,我正在试验can';t将gvim的stdout放入bash变量,bash,unix,vim,Bash,Unix,Vim,在尝试回答问题时,我正在试验gvim--echo-wid,我认为它可以与xdool一起使用 也许这只是脑痛,但我花了很长时间将gvim--echo wid的输出输入到bash变量中,而不阻塞 X=`gvim --echo-wid` 不起作用,backtick捕获似乎阻止了gvim分叉和去跟踪X仅在gvim终止后设置 X=`gvim --echo-wid &`; echo "got: $X" 同样的故事 mkfifo $F (gvim --echo-wid > $F) &
gvim--echo-wid
,我认为它可以与xdool
一起使用
也许这只是脑痛,但我花了很长时间将gvim--echo wid
的输出输入到bash变量中,而不阻塞
X=`gvim --echo-wid`
不起作用,backtick捕获似乎阻止了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`
我想要
- 背景中的gvim
- 它的stdout在一个bash变量中,是同步的
虽然在这一点上,我真的很好奇为什么捕获不起作用。给出了什么?如果它输出到stderr,您需要重定向它
X=`gvim --echo-wid 2>&1`
当gvim启动时,它为gui派生一个新的进程,这个进程可以在后台运行,但是stdout直到整个程序关闭才关闭 若你们将gvim导入头部,标准输出将关闭,反勾将停止阻塞
X=`gvim --echo-wid | head -n 1`
echo "got $X"
它仍然阻塞,直到gvim终止。