我遇到了一些问题,将根历史的时间戳添加到/.bashrc中,并在服务器列表中添加一个ansible剧本。
我的主要问题是这里的语法
---
- name: history timestamps
become: yes
become_method: sudo
shell: export HISTTIMEFORMAT='%F %T "' >> ~/.bashrc
register: shell_output
loop:
- 1
- debug: var=shell_output发布于 2022-08-04 12:12:31
仔细看看您要运行的shell脚本:您试图将export HISTTIMEFORMAT='%F %T "'的输出写入您的.bashrc文件。export HISTTIMEFORMAT='%F %T "'输出的是什么?
$ export HISTTIMEFORMAT='%F %T "'答案是它没有输出任何内容:您只是在设置一个环境变量。
你可以这样写剧本..。
- name: history timestamps
become: true
become_method: sudo
shell: |
cat >> ~/.bashrc <<EOF
export HISTTIMEFORMAT='%F %T '
EOF(请注意,我删除了不必要的loop选项)
通常情况下,如果您试图将一行写到文件中,您将使用...but模块:
- name: history timestamps
become: true
become_method: sudo
lineinfile:
path: ~/.bashrc
line: export HISTTIMEFORMAT='%F %T '最后,请注意,HISTTIMEFORMAT是一个bash局部变量;您实际上不需要将它放到环境中:
- name: history timestamps
become: true
become_method: sudo
lineinfile:
path: ~/.bashrc
line: HISTTIMEFORMAT='%F %T 'https://stackoverflow.com/questions/73235629
复制相似问题