如果未指定目录,Ansible将在哪里运行命令?

时间:2020-01-23 17:06:19

标签: ansible ansible-2.x

我遇到一个问题,我在两个远程节点上运行相同的任务,并且执行这些命令的目录不同。

如果在此命令之前我在每个远程主机上通过Ansible运行pwd,它们将返回不同的路径。例如/usr/usr/src。如果我手动登录到远程主机,则两者都将转到/usr/src(如其配置文件中所指定)。

有人可以向我解释为什么会这样吗?如果您在未指定chdir的情况下运行命令,Ansible会进入哪个目录?

1 个答案:

答案 0 :(得分:1)

我希望会出现这种差异,因为当手动登录时,当Ansible不提供{时,您有一个.bashrc cd位于这两个主机之一的右侧文件夹中{1}}文件。

默认情况下,ssh和Ansible这样都会将您登录到您定义Ansible进行连接的用户的.bashrc文件夹中,您也可以在$HOME中找到该文件夹​​

我看到发生这种情况的另一个原因是,您使用一个用户登录到该节点,然后又成为另一个用户。

inventory.yml

/etc/passwd

playbook.yml

all:
  hosts:
    some.example.com:
      ansible_user: some_user