python使用os.system调用shell脚本问题

背景

在接手旧服务代码过程中有一份代码使用了python通过os.system调用linux中的sh命令执行脚本,脚本中执行了hive -e命令来查hive表获取数据写入文件,执行失败。

问题

脚本中的hive命令一直不能运行,打印日志发现输出错误为未找到hive命令。

分析解决

由于终端在启动时会自动调用source ~/.bashrc命令将用户自定义的环境变量加载。
但在用python使用os.system()调用bash命令时并不是重开个终端,在脚本执行环境中并不包含所需的环境变量,导致查找不到hive命令。

参考

https://blog.csdn.net/sexyluna/article/details/105964185

你可能感兴趣的:(python,bash)