我有一个bash脚本说
#!/bin/bash
echo $0
然后./script.sh
(输出:./script.sh
)和source script.sh
(输出:-bash
)之间存在差异。
我在某些脚本中使用source
,但我并不完全不确定,我总是以正确的方式使用它。
这些电话之间有什么不同? (是吗,./
调用子shell并且source
在同一个shell中运行?)
还有哪些方法可以调用下标?
答案 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