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입니다. 이는 비표준 동작이기 때문에 걱정됩니다. 이러한 비교에서 기대할 수 있는 다른 유형의 반환 값이 무엇인지 알고 싶습니다. 어쨌든 성공이란 무엇입니까? 0? 1?

답변1

이는 요청된 하위 문자열을 찾을 수 없을 때 Python string.find메서드가 반환되기 때문입니다.-1

그렇지 않으면 문자열이 발견된 인덱스를 반환합니다.

당신은파이썬 문서:

string.find(s, sub[, start[, end]]) sub가 s[start:end]에 완전히 포함되도록 하위 문자열 sub가 발견된 s에서 가장 낮은 인덱스를 반환합니다. 실패하면 -1을 반환합니다.

관련 정보