有没有一种好方法可以测试我是在登录文本shell还是在.bashrc中启动GUI会话?例如,如果使用命令行在gnome和emacs中将我的编辑器设置为gedit。

有帮助吗?

解决方案

如果您已登录X会话,则会设置 DISPLAY 变量。

编辑:所以,这个(未经测试的)代码应该有效:

[ -n "${DISPLAY}" ] && export EDITOR=gedit || export EDITOR=emacs

根据评论修正。

其他提示

使用bash约定:

if [[ $DISPLAY ]]; then
    export EDITOR=gedit
else
    export EDITOR=emacs
fi
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top