Ansible - 当我使用以下代码时找不到 .bash_profile 文件

Ansible - not able to find .bash_profile file when I'm using the following code

- name: restarting .bash_profile
  command: chdir=/home/ec2-user/ source .bash_profile

我正在尝试对 .bash_profile 文件使用 source 命令,但出现错误:

{"changed": false, "cmd": "source .bash_profile", "failed": true, "msg": "[Errno 2] No such file or directory", "rc": 2}

但文件存在于给定路径中。有什么方法可以 运行 那个命令 .bash_profile 文件吗?

source 不是您可以 运行 单独使用的外部命令,因此您不能使用 command 模块(“没有这样的文件或目录" 错误指的是 source,而不是 .bash_profile)。

它是一个Bash内置的,所以你可以使用shell模块来执行它,但真正的问题是它对其他任务没有影响,我相信这是你的瞄准.

您可以做的是在采购新环境后添加您可能想要 运行 的其他命令,例如:

- shell: source .bash_profile && my_command
  args:
    chdir: /home/ec2-user/
    executable: /bin/bash