注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

无言博客

 
 
 

日志

 
 

Linux中环境变量到底写在哪个文件中?解析login shell 和 no-login shell  

2013-06-28 22:33:18|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
login shell:取得bash 时需要完整的登入流程,就称为login shell。举例来说,同tty1~tty6登入时, 需要输入用户名和密码,此时取得的bash就称为login shell

non-login shell:取得bash介面的方法不需要重复登入的动作。

举两个例子
(1)以X window登入linux后,再以X 的图形化介面启动终端机,此时那个终端机并不需要再次的输入用户名和密码,那个bash的环境就称为non-login shell
(2)在原本的bash环境中再次下达bash这个指令,同样没有要求输入用户名和密码,那个第二个bash也是non-login shell
login shell 和 no-login shell 的执行顺序:

Login shells:
/etc/profile
/etc/profile.d
~/.bash_profile
~/.bashrc
/etc/bashrc

Non-login shells:
~/.bashrc
/etc/bashrc
/etc/profile.d

注意:
/etc/profile:整个系统的环境

放在~里的是个人设置,一般放在~/.bashrc
如果想执行当前目录的脚本,有2种方法: 可以运行./script.sh (需要有可执行权限)
(1)使bash新生成一个子bash来执行,例如:./script.sh (需要有可执行权限)。在此情况下, 脚本对环境变量的更改只对子bash有效.
(2) 可使用source命令来直接执行脚本(可用’.'来代替source). 它与上面的方法有两点区别:
1, 脚本文件不需要执行权限.
2, 就在当前bash中执行, bash不会新fork一个子bash来执行它, 所以脚本对环境变量的更改会影响到当前bash.
所以当希望使修改的环境变量生效,用source即可。

  评论这张
 
阅读(9)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017