Ubuntu 22.04.2 LTS环境下从Python/Shell脚本执行GAM命令时权限拒绝或命令未找到问题求助
Ubuntu 22.04.2 LTS环境下从Python/Shell脚本执行GAM命令时权限拒绝或命令未找到问题求助
大家好,我目前在用Ubuntu 22.04.2 LTS系统,日常用bash操作,Python脚本也是在虚拟环境(venv)里运行的。最近碰到了个头疼的问题:GAM命令在命令行能正常跑,但放到Python或Shell脚本里就各种报错,想请各位帮忙分析下。
问题1:Python脚本调用GAM报权限拒绝
我在命令行直接执行GAM命令完全没问题,但在Python脚本里用os.system调用时:
os.system("gam csv account.csv gam update user ~EmailAddress org ~Abbrev")
会返回错误:
sh: 1: gam: Permission denied
我已经把GAM所在的路径/home/USER/googlesync/venv/bin加到了.bashrc的PATH环境变量里,命令行直接跑GAM命令是正常的,能顺利更新所有账号。
问题2:Shell脚本执行GAM同样报错,sudo运行问题更多
我写了一个daily.sh脚本,内容如下:
#!/bin/sh python connection.py gam csv accounts.csv gam create user ~EmailAddress password ~Password firstname ~FirstName lastname ~LastName org ~Abbrev gam csv accounts.csv gam update user ~EmailAddress org ~Abbrev
直接运行这个脚本时,会出现一堆权限拒绝的错误:
sh: 1: gam: Permission denied sh: 1: gam: Permission denied daily.sh: 4: gam: Permission denied daily.sh: 5: gam: Permission denied
试着用sudo daily.sh运行的话,错误变成了命令未找到:
daily.sh: 3: python: not found daily.sh: 4: gam: not found daily.sh: 5: gam: not found
相关文件权限和命令输出
我查了下相关文件的权限:
daily.sh:-rwxrwxr-x 1 tech tech 235 Aug 10 08:48 daily.shpowerschoolconnection.py:-rw-rw-r-- 1 tech tech 20803 Aug 10 09:11 powerschoolconnection.py- 虚拟环境目录
venv:drwxrwxr-x 6 tech tech 4096 Jul 18 15:05 venv
另外,运行which gam没有任何输出,而which -a gam返回的是./gam,也就是当前目录下的GAM文件。
有没有朋友遇到过类似的问题?麻烦帮忙分析下原因,谢谢啦!
备注:内容来源于stack exchange,提问作者Annisa Samsi
相关产品推荐
相关产品推荐

