找回密码
 注册
查看: 3720|回复: 10

关于. 是什么意思?

[复制链接]
发表于 2004-9-18 17:25:22 | 显示全部楼层 |阅读模式
我碰到了一个问题,这条语句表明什么
. /etc/sysconfig/network

如果“.“后没空格表示执行,那象上面有空格的表示什么呢?
发表于 2004-9-18 23:21:25 | 显示全部楼层
摘自《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或点命令执行。
回复

使用道具 举报

 楼主| 发表于 2004-9-19 21:56:08 | 显示全部楼层

请问斑竹!

关于点号后加空格再斜杠和不加空格斜杠有分别吗?
回复

使用道具 举报

发表于 2004-9-19 22:31:38 | 显示全部楼层
还是没回答清楚
回复

使用道具 举报

发表于 2004-11-3 16:34:41 | 显示全部楼层
回答得很清楚了。
回复

使用道具 举报

发表于 2004-11-3 16:42:50 | 显示全部楼层
相当于source

man source
回复

使用道具 举报

发表于 2004-12-3 21:37:51 | 显示全部楼层
对“所有在脚本中设置的变量将成为当前Shell的一部分。”说明一下  :-)

如上所述:
[code:1]
.  参数文件 和source 参数文件  
[/code:1]
都将它们所跟参数文件中的变量置入到当前环境(bash中)

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

使用道具 举报

发表于 2004-12-3 21:56:59 | 显示全部楼层
updatedb[/b兄,不如你申请本版的版主吧,我觉得你的能力比我强,一定可以胜任的 :-)
期待中 ......
回复

使用道具 举报

发表于 2005-1-17 19:20:41 | 显示全部楼层

Re: 请问斑竹!

[quote:4336677be9="liu_lin_sp"]关于点号后加空格再斜杠和不加空格斜杠有分别吗?[/quote]

我来回答这个问题。
它那里的斜杠是目录(路径名),而bash脚本执行时输入./script_name,表示执行一个可执行的shell脚本,也就是说如果点和斜杠之间有个空格,说明斜杠是路径名的一部分。
回复

使用道具 举报

发表于 2006-4-5 01:26:58 | 显示全部楼层
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或点命令执行。


[quote:3a1a35e8e4="updatedb"]对“所有在脚本中设置的变量将成为当前Shell的一部分。”说明一下  :-)

如上所述:
[code:1]
.  参数文件 和source 参数文件  
[/code:1]
都将它们所跟参数文件中的变量置入到当前环境(bash中)

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

又学到好东西拉,收下了 *v*
回复

使用道具 举报

发表于 2006-4-5 10:51:06 | 显示全部楼层

Re: 请问斑竹!

[quote:8fec893d15="qsdickee"][quote:8fec893d15="liu_lin_sp"]关于点号后加空格再斜杠和不加空格斜杠有分别吗?[/quote]

我来回答这个问题。
它那里的斜杠是目录(路径名),而bash脚本执行时输入./script_name,表示执行一个可执行的shell脚本,也就是说如果点和斜杠之间有个空格,说明斜杠是路径名的一部分。[/quote]
这个解释好像比较对症。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2025-2-12 12:22 , Processed in 0.023996 second(s), 15 queries .

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表