linux shell中的点命令------谈谈. ./a.sh和./a.sh的区别

时间:2021-03-20 09:12:47

       在前面一面文章中, 我们深入分析过source命令的用途, 现在, 我们要来说说linux shell中的点命令。 不卖关子了, 直接说吧, linux shell中的点命令完全等同于source命令。 如果需要知道source命令的用途, 请直接看我的前一篇文章。 好, 我们来看看点命令操作和结果:

[taoge@localhost Desktop]$ cat a.sh 
#! /bin/bash
echo "shell script"
export z="f(x) + f(y)"
[taoge@localhost Desktop]$ ./a.sh
shell script
[taoge@localhost Desktop]$ echo $z

[taoge@localhost Desktop]$ . ./a.sh
shell script
[taoge@localhost Desktop]$ echo $z
f(x) + f(y)
[taoge@localhost Desktop]$

        我们看到, 点命令的作用, 确实就等价于source命令。 请注意看". ./a.sh", 前面一个点是点命令, 等价于source, 后面一个点是和/一起的, ./表示当前目录, 而且, 千万要注意, 这两个点之间必须有空格。


       那一年, 我经常用到点命令, 用得不亦乐乎, 但不知道是个什么意思。后来,某次, 把前面的一个点弄丢了, 造成了重大错误, 排查了较长时间。  鉴于点命令容易出错, 所以, 我个人建议, 应该用source命令取代点命令。 实际上, 很多人就是这么做的。


      鉴于点命令容易出错, 所以, 我单独写一篇文章, 记录一下。 好吧, 今天就先到此为止。