gpt4 book ai didi

ansible - 无法使用 Ansible 获取 .bashrc

转载 作者:行者123 更新时间:2023-12-03 05:21:53 28 4
gpt4 key购买 nike

我可以 ssh 到远程主机并执行 source/home/username/.bashrc - 一切正常。但是如果我这样做:

- name: source bashrc
sudo: no
action: command source /home/username/.bashrc

我得到:

failed: [hostname] => {"cmd": ["source", "/home/username/.bashrc"], "failed": true, "rc": 2}
msg: [Errno 2] No such file or directory

我不知道我做错了什么......

最佳答案

您有两种选择将源代码与 ansible 结合使用。一种是使用“shell:”命令和/bin/sh (ansible 默认值)。 “源”称为“源”。在/bin/sh 中。所以你的命令是:

- name: source bashrc
sudo: no
shell: . /home/username/.bashrc && [the actual command you want run]

请注意,您必须在获取 .bashrc b/c 之后运行命令,每个 ssh session 都是不同的 - 每个 ansible 命令都在单独的 ssh 事务中运行。

你的第二个选择是强制 Ansible shell 使用 bash,然后你可以使用“source”命令:

- name: source bashrc
sudo: no
shell: source /home/username/.bashrc && [the actual command you want run]
args:
executable: /bin/bash

最后,我要指出的是,如果您使用的是 Ubuntu 或类似系统,您可能需要实际获取“/etc/profile”,这可以更完整地模拟本地登录。

关于ansible - 无法使用 Ansible 获取 .bashrc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22256884/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com