[PYTHON] [Ansible] So verhindern Sie, dass Änderungen auftreten

Manchmal möchten Sie das [Shell-Modul] von Ansible (http://docs.ansible.com/ansible/shell_module.html) verwenden, um nur die Befehlsergebnisse im Register zu speichern.

In meinem Fall habe ich diese Aufgabe geschrieben, weil ich herausfinden wollte, ob die Login-Shell zsh oder bash ist.

main.yml


- name: check using shell register in file path
  shell: |
      if [ `echo $SHELL | grep -c "zsh"` -eq 1 ]; then
        echo ".zshrc"
      elif [ `echo $SHELL | grep -c "bash"` -eq 1 ]; then
        if [ `uname` = "Linux" ]; then
          echo "~/.bashrc"
        elif [ `uname` = "Darwin" ]; then
          echo "~/.bash_profile"
        fi
      fi
  register: shell_configure_file

Immer wenn die obige Aufgabe ausgeführt wird, wird sie geändert.

TASK: [python/pyenv/install | check using shell register in file path] ********
changed: [127.0.0.1]

Ich habe verschiedene Dinge überprüft, als ich wollte, dass dies immer in Ordnung ist, also mach dir eine Notiz

Umgebung

Referenzierte Site

ansible Personal Notes & Tips

Wie man immer in Ordnung ist

Schreiben Sie einfach False in die Aufgabe



 Im Fall der vorherigen Aufgabe wird es so sein


#### **`main.yml`**
```yml

- name: check using shell register in file path
  shell: |
      if [ `echo $SHELL | grep -c "zsh"` -eq 1 ]; then
        echo ".zshrc"
      elif [ `echo $SHELL | grep -c "bash"` -eq 1 ]; then
        if [ `uname` = "Linux" ]; then
          echo "~/.bashrc"
        elif [ `uname` = "Darwin" ]; then
          echo "~/.bash_profile"
        fi
      fi
  changed_when: False
  register: shell_configure_file

Warum sollten wir keine Änderungen zulassen?

Meiner Meinung nach ist dies eine Änderung, über die Sie sich keine Sorgen machen müssen, wenn es sich um ein von Ihnen geschriebenes Spielbuch handelt. Sie können sofort beurteilen, indem Sie sich das Ausführungsergebnis von ansible ansehen. Wenn Sie jedoch eine Änderung erhalten, wenn jemand anderes dieses Spielbuch ausführt, "Oh, hat sich etwas geändert?" Ich würde denken.

Ich halte es für wünschenswert, dass Änderungen nur geändert werden, wenn sich das Verhalten des Zielbetriebssystems ändert.

Schließlich

Ansible ist einfach, aber es gibt verschiedene Problemumgehungen, sodass es schwierig ist, zurückzukehren und eine Aufgabe zu erstellen. .. .. Ich habe die obige Aufgabe als Shell geschrieben, daher habe ich das Gefühl, viel verloren zu haben ...

Recommended Posts

[Ansible] So verhindern Sie, dass Änderungen auftreten
So ändern Sie das Layout von Jupyter
So ändern Sie die Python-Version
So ändern Sie das Farbschema von vim
So verhindern Sie Paketaktualisierungen mit apt
So ändern Sie die Editorfarbe in PyCharm
[Python] So ändern Sie das Datumsformat (Anzeigeformat)
Verwendung von xml.etree.ElementTree
Verwendung von virtualenv
Schaben 2 Wie man kratzt
Wie benutzt man Seaboan?
Verwendung von Image-Match
Wie man Shogun benutzt
So installieren Sie Python
Verwendung von Pandas 2
[Ansible] Verwendung der SSH-Kennwortauthentifizierung bei der Ausführung von ansible
Wie man PyPI liest
So installieren Sie pip
Verwendung von Virtualenv
Verwendung von numpy.vectorize
So aktualisieren Sie easy_install
So installieren Sie archlinux
Verwendung von pytest_report_header
Wie man Gunicorn neu startet
So installieren Sie Python
Wie zum virtuellen Host
Wie man Selen debuggt
Wie man teilweise verwendet
Wie man Bio.Phylo benutzt
Wie man JSON liest
Verwendung von SymPy
Wie man x-means benutzt
Verwendung von WikiExtractor.py
So aktualisieren Sie Spyder
Verwendung von IPython
So installieren Sie BayesOpt
Verwendung von virtualenv
Wie benutzt man Matplotlib?
Verwendung von iptables
Wie benutzt man numpy?
So ändern Sie das statische Verzeichnis von der Standardeinstellung in Flask
Verwendung von TokyoTechFes2015
Wie benutzt man venv
Verwendung des Wörterbuchs {}
Wie benutzt man Pyenv?
Wie man Dotfiles züchtet
Verwendung der Liste []
[Arbeitseffizienz] So ändern Sie Dateinamen im Stapel mit Python
Wie man Python-Kabusapi benutzt
"Wie man Fukashigi zählt"
So installieren Sie Nbextensions
Verwendung von OptParse
Verwendung von return
So installieren Sie Prover9
So bedienen Sie NumPy
Wie man Imutils benutzt
[Ansible] So rufen Sie Variablen auf, wenn Sie ein eigenes Modul erstellen