我正在运行 zsh 函数以在 vim 中打开 .tex 文件,同时在 evince 中打开其相关的 .pdf 文件。我目前正在使用 xdotool 在当前 gnome-terminal 窗口中打开一个新选项卡,然后在该选项卡中执行 vim。我宁愿使 evince 的命令行输出静音并在当前窗口中打开 vim。
不幸的是,使用诸如 这样的标准重定向evince name.pdf &> /dev/null
,evince 无法以图形方式打开。我可以从终端运行 GUI 程序,而该终端中没有其标准输出/错误吗?
该函数如下:
edittex () {
# open a new terminal tab in current terminal
WID=$(xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)"| awk '{print $5}')
xdotool windowfocus $WID
xdotool key ctrl+shift+t
wmctrl -i -a $WID
# open vim in the new terminal tab
xdotool type "vim [email protected]"
xdotool key KP_Enter
# open evince in old terminal tab
evince "[email protected]"
}
用法:edittex filename
,假设.pdf和.tex文件分别名为filename.pdf和filename.tex。
答案1
重定向仅有的evince 的 stderr/dev/null
和发送到后台同时需要指定:
evince name.pdf 2> /dev/null &
在哪里 :
evince name.pdf 2>
仅重定向错误的输出/dev/null
将输出重定向到null
设备&
将程序发送到后台