bash:源和执行之间的区别

时间:2014-05-08 13:20:40

标签: bash include

我有一个bash脚本说

#!/bin/bash
echo $0

然后./script.sh(输出:./script.sh)和source script.sh(输出:-bash)之间存在差异。 我在某些脚本中使用source,但我并不完全不确定,我总是以正确的方式使用它。

这些电话之间有什么不同? (是吗,./调用子shell并且source在同一个shell中运行?)

还有哪些方法可以调用下标?

1 个答案:

答案 0 :(得分:0)

你是对的:

source scriptname将在当前shell

中执行脚本

./scriptname将创建一个新shell并执行其中的所有内容。

也(与问题无关):

source scriptname. scriptname相同但是 source scriptname./scriptname不是。

Otherways:

1) the extra one I mentioned above.

2) exec

3) within () in a script or cmdprompt