背景
在接手旧服务代码过程中有一份代码使用了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