youhaodiyi 发表于 2006-4-16 21:33:44

关于执行文件的问题

为什么有的时候执行一个文件要用"./"开始,而有的时候用"."开始,还有的时候什么都不用,直接运行文件名?这三者之间有什么不同?
谢谢

BOoRFGOnZ 发表于 2006-4-17 10:56:09

search bbs

youhaodiyi 发表于 2006-4-17 13:03:06

不是吧!帮忙讲一下

BOoRFGOnZ 发表于 2006-4-18 17:15:00

引用:

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或点命令执行。

对“所有在脚本中设置的变量将成为当前Shell的一部分。”说明一下 Smile

如上所述:
代码:

.参数文件 和source 参数文件

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

但是:
. 和source将变量转入当前环境后,如果这些变量并没有被export(导出),那么除了bash之外,其它的程序是得不到这些变量的!()
执行 source .bash_profile后,其它程序能够得到有效的值,其原因是.bash_profile听取变量被export,从而其它程序能得到这个变量。
页: [1]
查看完整版本: 关于执行文件的问题