[20210330]bash使用source or ..调用shell脚本注意txt
--//前一阵子写bash shell脚本遇到的问题做一个记录。我测试环境定义的PATH环境变量如下:
$ echo $PATH | tr ":" "\n" | uniq
/bin
/home/oracle/anysql
/home/oracle/bin
/u01/app/oracle/product/11.2.0.4/dbhome_1/bin
/u01/app/oracle/product/11.2.0.4/dbhome_1/jdk/bin
/usr/bin
/usr/kerberos/bin
/usr/local/bin
/usr/NX/bin
--//当我在当前某个目录执行脚本f.sh程序时,执行如下:
$ cd tkprof
$ source f.sh
--//我发现输出结果并不是我希望的,很明显f.sh并不是我要访问的bash shell脚本。检查发现在/home/oracle/bin目录下也存在一个
--//f.sh脚本程序。估计时我以前顺手写的没有删除,这在以后工作中注意。
$ which f.sh
~/bin/f.sh
--//也就是执行source f.sh时,优先访问PATH环境变量指定的路径,然后才是本地目录。
--//所以最佳的执行方式是使用绝对路径或者相对路径。
$ source ./f.sh
--//这样安全可靠。
--//另外我个人不建议使用当前目录.加入到PATH目录中。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/267265/viewspace-2765605/ ,如需转载,请注明出处,否则将追究法律责任。