не может отобразить переменную в удаленном bashrc через ansible - PullRequest
0 голосов
/ 19 сентября 2019

Где-то я не могу читать / писать в ~ / .bashrc на удаленных хостах с Ansible.Я пытался, ранее с .bashrc, а теперь с .profile, но все напрасно:

- name: install elasticsearch
      command: "{{ item }}"
      with_items:
        - "cd /apps/dmg/ && tar -xzf elasticsearch-6.4.3.tar.gz"
        - "cd /apps/dmg/elasticsearch-6.4.3"
        #- echo "ES_HOME=/apps/dmg/elasticsearch-6.4.3" >> ~/.profile
        #- "source ~/.profile" 

Я понял, что задача ansible просто не записывает туда какой-либо файл на удаленных хостах, потому что нет "~ /.файл профиля »существует даже после выполнения этой задачи, что, по-видимому, успешно:

changed: [WONTTELLXXXX] => (item=echo "ES_HOME=/apps/dmg/elasticsearch-6.4.3" >> ~/.profile)

1 Ответ

0 голосов
/ 19 сентября 2019

Не используйте расширение ~ (требуется цитирование wip)

~/.profile

Используйте полный путь для remote_user, become_user или любого другого, если это необходимо.Например,

"/home/{{ remote_user }}/.profile"

$HOME тоже может работать

"$HOME/.profile"


Примечания

Приведенные ниже задачи помогут выяснить, что происходит

- command: whoami
  register: result
- debug: var=result.stdout

- command: pwd
  register: result
  args:
    chdir: $HOME
- debug: var=result.stdout

- command: pwd
  register: result
  args:
    chdir: ~
- debug: var=result.stdout
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...