使用./script.sh和。启动脚本之间的区别。 ./script.sh

时间:2009-12-10 12:40:17

标签: bash scripting shell

请告诉我在启动脚本时bash shell的区别是什么 ./script.sh. ./script.sh

2 个答案:

答案 0 :(得分:17)

正如klausbyskov所说,第一种形式要求文件具有可执行权限位。

但更重要的是,第一个表单在一个单独的进程中执行脚本(与启动它的shell不同,独立,无法进行更改)。第二种形式导致初始shell直接运行文件中的命令(就好像你已经将它们输入shell中,或者好像它们包含在执行'sourcing'的脚本中)。

包含FOO=bar; export FOO的脚本将不会在运行第一个变体的shell中创建导出的FOO环境变量,但它会在运行第二个变体的shell中创建这样的变量。

第二种形式('sourcing')有点像C中的#include

答案 1 :(得分:4)

第一个要求文件设置+ x标志。第二个使用了。命令又名“源”,描述为here