bash - 如何附加 screen session 或创建它?

标签 bash gnu-screen

我目前正在使用它来启动 muttirssi:

urxvt -name Irssi/Mutt screen -r Irssi/Mutt

目前,在使用启动器之前我必须执行以下操作:

screen -S Irssi/Mutt irssi/mutt + Ctrl-a-d

我想做的是:

if [ test_to_see_if_the_screen_exit ]  # I need a way to the test
then
  urxvt -name Irssi/Mutt -e screen -r Irssi/Mutt
else
  create_the_screen_named_Irssi/Mutt_and_detach_it # I need a way to create it
  urxvt -name Irssi/Mutt -e screen -r Irssi/Mutt
endif

有人有解决办法吗?

最佳答案

使用screen -listscreen -ls 显示现有 screen 。

不过,我可能会这样做 if...endif 位:

screen_opts=""
case $(screen -list Irssi/Mutt | awk '/Irssi/{print $NF}') in
  *Attached*) ;; # not sure what you would want here,
                 # but I would probably do 'screen_opts="-x"'...
  *Detached*) screen_opts="-r" ;;
  *) screen -wipe # if session is dead, clean it up
     screen_opts="-S Irssi/Mutt";;
esac
urxvt -name Irssi/Mutt -e screen ${screen_opts}

关于bash - 如何附加 screen session 或创建它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16591458/

相关文章:

bash - stdout 和 stderr - 并排预览

linux - 如何使用bash打开多个 screen 并让它们独立运行

linux - Linux 中每个正在运行的进程的 $PATH 变量

bash - 测试文件中的模式是否存在,评估是否存在

linux - 为什么这个 inotifywait shellscript 使用两个 PID?

php - 管道 screen 到 PHP(或与此相关的任何函数)

linux - 如何获得流入数据库中当前值和先前值之间的差异

json - bash 脚本提示文件名太长

bash - 你如何使用命令启动 Unix screen 命令?

linux - 将 SHIFT+H 键击发送到 screen