今天做项目的时候需要使用shell脚本去执行一个python文件,其中shell脚本大概就是
python /home/wl/pm/test.py
然后这个脚本pm.sh 自己也在/home/wl/pm目录下
然后神奇的事情出现了,在/home/wl/pm/ 中执行/home/wl/pm/pm.sh 的时候test.py的工作目录是/home/wl/pm/,但是在/home/wl/中执行/home/wl/pm/pm.sh的时候test.py的工作目录也变成了/home/wl/,导致了一系列的错误。
根本原因在于无论是函数调用还是python文件调用,python文件(或函数)的工作目录都会变为调用函数(或文件)的工作目录,进而导致使用的一些相对路径发生错误。