【发布时间】:2015-12-07 12:41:14
【问题描述】:
我在一个文件.bash_aliases 中有一个别名列表,该文件正在使用ansible playbook 复制到远程服务器。该文件正在复制到目标位置,但未使用以下 ansible 任务加载 .bashrc(进而加载 .bash_aliases)文件。
我已经尝试给出可执行参数
- name: source the .bashrc file
shell: source ~/.bashrc
args:
executables: "/bin/bash"
没有参数
- name: source the .bashrc file
shell: source ~/.bashrc
带有原始模块
- name: source the .bashrc file
raw: source ~/.bashrc
带命令模块 - 名称:来源 .bashrc 文件 命令:source ~/.bashrc
没有用!!!任何帮助
【问题讨论】:
-
你怎么“知道”它没有被加载?发布可以重现问题的内容。
-
@KarolyHorvath 因为我在
.bash_aliases文件中列出的别名不起作用。但是在登录远程服务器后手动source .bashrc文件时,别名工作正常。 -
这并不意味着它没有被执行。
-
@KarolyHorvath 为什么在使用上面列出的模块运行剧本后别名不起作用?
-
我假设您想在以后的任务中使用一些别名。如果是这种情况,那么您就不走运了,因为 ansible 将每个任务放在 separate python 脚本中,然后将其复制到主机然后执行它。您在上一个任务中设置的任何别名将不会在任何后续任务中看到。