我怎么知道我在linux“屏幕”里面运行?

“屏幕”指的是 How to reconnect to a disconnected ssh session中提到的程序.这是一个很好的设施.

但我有一个问题,我真的很想知道.我如何知道自己是否在“屏幕”内运行?不同之处是:

>如果是,我知道我可以安全地关闭当前终端窗口,例如关闭PuTTY窗口,而不会丢失我的shell(Bash等)会话.
>如果不是,我知道在关闭终端窗口之前我必须处理任何待处理的工作.

更好,我希望在PS1提示符下显示此状态,以便我可以随时自动查看.

解决方法

(在StackOverflow上从“ How can I tell whether I’m in a screen?”上偷走并由用户 jho编写.P.S.您不能在StackExchange网站上投票支持复制.)

检查$STY.如果它为空,那么你就是一个“真正的”终端.如果它包含任何内容,那么它就是您所在屏幕的名称.

如果你不在屏幕上:

eric@dev ~ $echo $STY
eric@dev ~ $

如果你在屏幕上:

eric@dev ~ $echo $STY
2026.pts-0.ip-10-0-1-71

如果您使用tmux而不是屏幕,也请检查$TMUX.要将此添加到您的提示中,请将以下内容添加到〜/ .bashrc:

if [ -n "$STY" ]; then export PS1="(screen) $PS1"; fi
if [ -n "$TMUX" ]; then export PS1="(tmux) $PS1"; fi

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...