Gnu-Screen
禁用螢幕輸出“screenisterminatingsCr和和n一世s噸和r米一世n一種噸一世nGscreen is terminating'
完成命令的螢幕後,如何禁用輸出
screen
?例子:
function foo() { echo "Testing..." sleep 2 echo "Done!" } export -f foo screen -q bash -c "foo" &> /dev/null
這一切都按預期工作,但是我不知道如何禁用“
$$ screen is terminating $$”。
我能想到的解決方案只有兩種。首先是修改螢幕程式碼本身並重新編譯。第二個是在程序周圍有一個
expect
包裝器(未經測試):#!/usr/bin/expect -f spawn screen -q bash -c foo interact { "\[screen is terminating]" exit }
螢幕正在使用您的 tty 寫入該文本,因此您無法通過將 stdout 或 stderr 重定向到
/dev/null
.我有從輸出中刪除該行的最簡單方法。
在這種方法中,您需要向上移動游標並清除該行。轉義字元可以幫助您,例如,要使用命令執行
screen
命令cat
,您需要執行以下操作:screen cat;echo -en '\e[A\e[K'
這將刪除該行
[screen is terminating]
。