当我尝试重新加载位于/ etc / profile中的bash配置文件时,我遇到了问题 .
我试图以多种方式加载它,从命令: . /etc/profile
和带脚本模块和shell的脚本文件 .
Ansible给我所有人改变了状态,但是当我试图回应配置文件中的变量时,例如 echo $myname
,他们在playbook中完成执行后没有打印任何内容 .
当我试图用终端 . /etc/profile
再次加载它时,变量被加载,我可以回显它的值 .
我也在profile.d目录中创建一个脚本文件,然后用Ansible加载它没有任何反应 .
ps . 使用become和--ask-become-pass参数给出完全root权限 . 我正在使用带有centos 7 X64的流浪盒 .
谢谢...
2 回答
Ansible load my Variables into my global profile, it's ok not changed as it's already placed in that profile
I pass the script in same environment, so the java read the variables successfully
例如,如果您的 Profiles (我还没有到
/etc/profile
)设置myname=Ameen
,那么在下面的代码中,第一个任务应该回显您的名字,但第二个任务不应该:每项任务都是一个独特的环境 . 在本地shell环境中设置的变量将不可用于稍后连接的其他环境,但不会为其自身再次设置它们 .
我的输出:
在
ksh
中它通常是~/.profile
,~/.kshrc
和/etc/profile
,虽然所有这些都是明显可配置的,但只是在给定系统上可以完全不同的约定,尽管你应该考虑原因 .或者这只是你问题的一个例子?