如何在 Ansible 中用命令模組取代 shell 模組?

如何在 Ansible 中用命令模組取代 shell 模組?

我需要一點小小的幫助。

在下面的範例中,我需要替換shellcommand模組。但我很困惑,因為 command不使用管道。

所以請給我這個任務的解決方案。例如:

- name: Get the version
  become: true
  run_once: true
  shell: zypper pa | grep eric-odl | awk -F {'print $4'}
  register: odl_version

由於每個命令輸出都依賴下一個命令,因此我將如何拆分此任務?

答案1

我需要shellcommand模組替換。

也許您可以提供更多關於原因和您想要實現的目標的背景資訊。

目前我猜man zypper你會嘗試

套件 (pa) [選項] [儲存庫]...

列出所有可用的套件或指定儲存庫中的所有套件。如同zypper search -s -t package

首先,然後喜歡繼續做某件事。


但我很困惑command不使用管道。

是的,這就是情況和預期的行為。請參閱範例


所以請給我這個任務的解決方案

不會有“那個解決方案”,但您可以從最優選到最不優選的方法查看以下列表:

或者,至少,只保留shell帶有管道的命令(以及您目前給出的範例)

相關內容