今天碰到一个问题脚本里使用点号引入某个文件形式如下:
. /tmp/abc
但是脚本运行出现错误,一开始还以为是/tmp没有可执行权限(https://mzhan017.blog.csdn.net/article/details/112178736#t16),导致abc运行不了。
后来发现是文件的权限不对,是该用户不能访问,而不是 source 点号的使用有问题。
所以这里就是一个潜意识,source/点号的运行其实是需要当前shell的支持,实际的运行程序还是shell。也就是引用的文件真正的运行是当前的shell可执行程序,不受/tmp/没有可执行权限的限制。