区别如下
1. " ./ “ 的方式类似于新建了一个shell, 在这个新建的shell中去执行脚本中的程序,类似于新建了一个子进程,但这个子进程不继承父进程的所有非export类型的变量,并且脚本中对非export环境变量的创建或修改不会反馈到外部调用shell中
例如:
[root@VM_0_4_centos test]# pwd
/root/test
[root@VM_0_4_centos test]# ls
service_start.sh
[root@VM_0_4_centos test]# cat service_start.sh
#!/bin/sh
echo 123
[root@VM_0_4_centos test]# ./service_start.sh
123
2. ” . " 的方式类似于将脚本中的每一行指令逐条在当前shell中执行,因此它继承了当前shell的环境变量,同时脚本中对环境变量的修改也可以反馈到shell中