Если вы создаете новые окна с Ctrl+a c
Экран переключается на недавно созданное последнее окно. (Если это не то, что вы искали, тогда:
screen -Q select $(screen -S $STY -Q windows|sed 's/ \([[:digit:]]*-*\**\)\$/\n\1/g'|tail -n1|cut -d: -f1|sed 's/[^[:digit:]]//g')
«переключится на последнее окно на экране GNU» из любого окна экрана.)
В качестве альтернативы (без в зависимости от $ sty и предположить, что вы хотите первого или только сессии экрана в screen -ls
) вы можете использовать:
screen -S $(screen -ls|grep '^\s'|awk '{print $1}'|head -n1) -Q select $(screen -Q windows|sed 's/\([[:digit:]]*-*\**\)\$*\!*/\n\1/g'|grep '[[:digit:]]'|tail -n1|sed 's/[^[:digit:]]//g')
Если это то, что вам часто нужно, вы можете добавить:
_stslw_fn(){ screen -Q select $(screen -Q windows|sed 's/\([[:digit:]]*\)[^ ]*/\n\1/g'|tail -n1);};alias stslw="_stslw_fn"
до конца ~/.bash_aliases
Чтобы создать stslw
(Переключитесь на последнюю команду экрана).