冲动的区别。 script.sh vs ./script.sh

时间:2013-01-20 08:39:21

标签: linux

  

可能重复:
  what is the difference between “./somescript.sh” and “. ./somescript.sh”

请说明shell命令之间的区别。 script.sh vs ./script.sh其中script.sh是一个shell脚本。

由于

2 个答案:

答案 0 :(得分:4)

差异很简单

. script.sh

使用您当前的shell执行shell脚本,因此您在脚本中执行的所有更改(如更改目录或变量)都将影响正在运行的shell

./script.sh
另一方面,

将启动一个新shell来执行该脚本。这通常是启动脚本的更好方法

答案 1 :(得分:0)

要添加上面Fabian给出的答案,

您可以通过查看

的输出来测试它
echo $$

在两个模式中执行script.sh之前和之后。您将看到与process id

的区别

此外,当您使用. script.sh时 之前在执行extern中定义的所有shell变量仍然可用

./script.sh 这些extern变量将无法用于新shell