转载地址:https://zhidao.baidu.com/question/507918731.html
./ 点号紧跟/表示当前目录(相对路径的写法)。直接 / 表示根目录。
. / 有空格的点号等同于source命令,表示在当前shell环境执行后面的命令或脚本(不加点号默认是新开一个shell执行的)。例如 . /home/test.sh 等同于 source /home/test.sh。
用source执行的脚本所做的任何改变会影响当前shell(如其中有用cd改变目录,脚本执行完后目录就变掉了);如果没用source,就不会影响当前shell。
上述两种情况结合:
. ./test.sh
表示以source方式在当前shell执行当前目录下的test.sh脚本。
对新手来说,为明显区别,建议书写的时候将第二种情况直接写作source而不要用点号。
.是执行的意思 后面加了空格是绝对路径
不加空格要用相对路径