Gnu-Screen

禁用螢幕輸出“screenisterminatingsCr和和n一世s噸和r米一世n一種噸一世nGscreen is terminating'

  • April 16, 2019

完成命令的螢幕後,如何禁用輸出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]

引用自:https://unix.stackexchange.com/questions/28043