Ansible 相等比較中「-1」的意義為何?

Ansible 相等比較中「-1」的意義為何?

我正在查看 Ansible 文檔這裡並查看將輸出註冊為變數的範例顯示了這一點:

- name: test play
  hosts: all

  tasks:

      - shell: cat /etc/motd
        register: motd_contents

      - shell: echo "motd contains the word hi"
        when: motd_contents.stdout.find('hi') != -1

條件語句中的相等檢查when是 -1,但我會假設這是一個布林值,因此返回 0 或 1。 ,因為這是非標準行為,我想知道在這種比較中我可以期待哪些其他類型的回傳值,以及無論如何,什麼是成功?一 0?一個1?

答案1

這是因為Python方法在找不到所要求的子字串時string.find傳回。-1

否則,它會傳回找到該字串的索引。

您可以參考Python 文檔

string.find(s, sub[, start[, end]]) 傳回 s 中找到子字串 sub 的最低索引,使得 sub 完全包含在 s[start:end] 中。失敗時回傳-1。

相關內容