【发布时间】:2011-01-24 07:54:28
【问题描述】:
source <script> 和 ./<script> 有什么区别?
【问题讨论】:
-
另外,那这两者和
sh <script>有什么区别呢?我猜它更像./<script>
source <script> 和 ./<script> 有什么区别?
【问题讨论】:
sh <script>有什么区别呢?我猜它更像./<script>
source script.sh 在当前进程中运行脚本,因此即使在脚本完成后,所有变量分配都被保留为变量(并且不必显式地export'd)。
./script.sh 只是在子进程中运行脚本,脚本执行完成后分配的任何变量都会消失。
【讨论】:
./script.sh只能将变量导出到子级,不能返回到父级。
exported 时才成为环境变量。普通的shell变量和环境变量都可以通过source script.sh(或. script.sh)进行更新。
源脚本会改变你当前的环境,./script 不会。
(编辑:脚本必须是可执行的才能使用 ./)
【讨论】: