有没有一种好方法可以测试我是在登录文本shell还是在.bashrc中启动GUI会话?例如,如果使用命令行在gnome和emacs中将我的编辑器设置为gedit。
答案 0 :(得分:9)
如果您已登录X会话,则会设置DISPLAY
变量。
编辑:所以,这个(未经测试的)代码应该有效:
[ -n "${DISPLAY}" ] && export EDITOR=gedit || export EDITOR=emacs
根据评论修正。
答案 1 :(得分:2)
使用bash约定:
if [[ $DISPLAY ]]; then
export EDITOR=gedit
else
export EDITOR=emacs
fi