我有一个运行“vgs”命令的python脚本来检查可用卷组中的可用空间,然后使用lvcreate命令创建lvm .
当我在本地运行这个python脚本时,我可以毫无问题地运行它,并且也可以创建lvm . 但是如果我使用Ansible playbook运行它,我就无法找到 vgs
命令的路径并失败 . 它似乎只是寻找 /usr/bin:/bin
路径 . 请帮忙 .
which: no vgs in (/usr/bin:/bin)", "No Volume Groups Found", "Space Found in Volume Group:"], "warnings": []}
"stderr": "sh: -c: line 0: syntax error near unexpected token `('\nsh: -c: line 0: `{ which: no vgs in (/usr/bin:/bin) -o VG_NAME --noheadings --units m ; } 2>&1'
1 回答
因为交互式和非交互式shell会话调用不同的rc文件集 . 如果在仅由交互式shell提供的rc文件中设置
PATH
,则这些设置将不会反映在非交互式shell中 .将
PATH
添加为任务的环境变量: