您的位置:首页 > 运维架构 > Shell

login shell 和 non-login shell

2015-03-22 16:16 204 查看
shell 会话分为两种类型:login shell 和 non-login shell

所谓login shell
就是指登录时需要输入用户名与密码的shell。例如,在ubuntu 12.04中,ctrl+alt+F2会启动一个 login shell。所谓non-login shell
是指登录时不需要输入用户名与密码的shell。例如,我使用的ubunutu 12.04桌面版中,ctrl+alt+T打开终端时,不需要的登录。

login shell 登录时依次读取配置文件:/etc/.profile和~/.bash_profile(或~/bash_login,或~/.profile),在这些文件中可以设置环境变量。non-login
shell登录时依次读取:/etc/bash.bashrc
和 ~/.bashrc ,在这些文件中也可以设置环境变量。同时non-login shell 还会从父进程继承环境变量。

注:linux的发行版本不同,上述启动文件的读取会有所差异。例如ubuntu 12.04中,login shell启动时也会读取~/.bashrc

我们可以在启动文件中设置自己需要的环境变量,一般在~/.bash_profile(或~/bash_login,或~/.profile)和~/.bashrc中设置。例如:我们为python添加模块搜索路径时,需要设置环境变量PYTHONPATH。我们可以在~/.bashrc中添加用户变量:

PYTHONPATH="/home/用户名/python" #我想添加路径/home/用户名/python

export PYTHONPATH
#利用export 将用户变量变成环境变量
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: