Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3270423
  • 博文数量: 815
  • 博客积分: 12898
  • 博客等级: 上将
  • 技术积分: 7883
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-25 09:57
文章分类

全部博文(815)

文章存档

2014年(1)

2011年(46)

2010年(192)

2009年(121)

2008年(70)

2007年(385)

分类:

2007-05-27 17:17:17

整理:

《Linux Shell实例精解》-- [美]Ellie Quigley著,吴雨浓译


source命令(从 C Shell 而来)是bash shell的内置命令。点命令,就是一个点符号,(从Bourne Shell而来)是source的另一名称。这两个命令都以一个脚本为参数,该脚本将作为当前shell的环境执行,即不会启动一个新的子进程。所有在脚 本中设置的变量将成为当前Shell的一部分。同样的,当前脚本中设置的变量也将作为脚本的环境,source(或点)命令通常用于重新执行刚修改的初始 化文件,如 .bash_profile 和 .profile 等等。例如,如果在登录后对 .bash_profile 中的 EDITER 和 TERM 变量做了修改,则可以用source命令重新执行 .bash_profile 中的命令而不用注销并重新登录。象 .bash_profile 或其它类似的Shell脚本这样,文件无需可执行权限即可用source或点命令执行。
                   ------
摘自《Linux Shell实例精解》-- [美]Ellie Quigley著,吴雨浓译

关于点号后加空格再斜杠和不加空格斜杠有分别吗?
点号后的斜杠是目录(路径名),而bash脚本执行时输入./script_name,表示执行一个可执行的shell脚本,也就是说如果点和斜杠之间有个空格,说明斜杠是路径名的一部分。


code:
.  参数文件 和source 参数文件 

都将它们所跟参数文件中的变量置入到当前环境(bash中)

但是:
. 和source将变量转入当前环境后,如果这些变量并没有被export(导出),那么除了bash之外,其它的程序是得不到这些变量的!
执行 source .bash_profile后,其它程序能够得到有效的值,其原因是.bash_profile听取变量被export,从而其它程序能得到这个变量。



阅读(1244) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~