avacool 发表于 2005-12-23 10:58:03

[请教]初学,请问./与. ./有什么区别?

写了顶简单一个脚本testvar,export一个变量
sh testvar后用echo看变量内容,看不到
chmod +x testvar之后,./testvar执行,还是一样
. ./testvar之后却可以(两点间有个空格)

这是为什么?
谢谢

MichaelBibby 发表于 2005-12-23 11:22:40

这个是source(也就是你的那个点'.')命令来执行脚本和直接'./script.sh'的区别了。

source执行,是在当前shell下执行所有操作,包括变量的赋值等;
而'./script.sh'则是在当前shell下fork出子shell来进行操作,所有变量的作用区域都只在子shell中。

另外一个区别就是,使用source执行的脚本不具有可执行权限也能执行。

hew 发表于 2005-12-23 11:23:02

./ 当前目录下

../ 上级目录下

MichaelBibby 发表于 2005-12-23 11:25:29

./ 当前目录下

../ 上级目录下小样儿,眼神不好使了吧? :twisted:

hew 发表于 2005-12-23 11:42:14

你咋知道我眼神不好!:mrgreen:

再补一个pstree 的结果就一目了然了。

avacool 发表于 2005-12-23 13:49:36

:P

谢谢!懂了一点

avacool 发表于 2005-12-23 14:08:32

你咋知道我眼神不好!:mrgreen:

再补一个pstree 的结果就一目了然了。

再补一个pstree的结果……这个没看懂,能再解释一下?
页: [1]
查看完整版本: [请教]初学,请问./与. ./有什么区别?