作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写 Ansible 剧本来在 Solaris 服务器上设置和安装我们的应用程序。
问题是我需要执行的(bash)脚本都假设某个目录位于 PATH 上,即 /data/bin
- 如果不是 Ansible 忽略所有 .profile
,这通常不会成为问题和 .bashrc
配置。
现在,我知道您可以为 shell
指定环境任务通过 environment
标志,例如像这样:
- shell: printenv
environment:
PATH: /usr/bin:/usr/sbin:/data/bin
/data/bin
文件夹,以及
printenv
命令将正确显示(或我的 bash 脚本将正确运行)。
environment: ...
每单 shell
任务。 PATH: $PATH:/data/bin
- 因为 Ansible 以无法解析 $PATH
的方式执行此操作,因此该命令会灾难性地失败。所以基本上这将覆盖对 PATH
的任何其他更改. PATH
仅应添加条目 一次 PATH
条目不应覆盖其他任务添加的条目 /etc/environment
在 Solaris 上不存在。 (并且
/etc/profile
再次被 Ansible 忽略。)
最佳答案
尝试添加 -o SendEnv=PATH
至 ssh_args
在 ansible.cfg .要求
关于path - Ansible:如何为 solaris 全局设置 PATH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27817310/
我是一名优秀的程序员,十分优秀!