我正在運行 zsh 函數來在 vim 中打開 .tex 文件,同時打開其相關的 .pdf 文件。我目前正在使用 xdotool 在當前 gnome 終端機視窗中開啟一個新選項卡,然後在該選項卡中執行 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
重定向僅有的證據的標準錯誤/dev/null
和發送到後台的同時需要指定:
evince name.pdf 2> /dev/null &
在哪裡 :
evince name.pdf 2>
僅重定向錯誤的輸出/dev/null
將輸出重定向到null
設備&
將程式傳送到後台