- 项目是用python 调用 同事写好的 xx.sh脚本, 在手动调用的时候 发现能正常调用, 当用python代码的时候, 就不行了, 通过日志发现, python调用的时候 不识别 ADNROID_NDK这个环境变量,
在python中 我是通过:
os.system('echo %s|sudo -S %s' % (password, replace_path + ' "' + md5debug + '"'))
这样调用的, 这样就不识别ADNROID_NDK这个环境变量,后来把代码改为:
os.system('echo %s|sudo -E -S %s' % (password, replace_path + ' "' + md5debug + '"'))
就可以了, 加上参数E
百度以下 参数E的作用 就是加上-E选项后,用户可以在sudo执行时保留当前用户已存在的环境变量,不会被sudo重置,另外,如果用户对于指定的环境变量没有权限,则会报错
还不是很理解, 这里现记录以下
- 后来觉得这种方式太麻烦, 还需要输入密码,就改为以 root身份登陆 ubuntu了,
这样可以直接调用脚本, 不用输入密码了