0
최근에는 Ansible을 사용하기 시작했으며 무언가에 대한 도움이 필요합니다. 쉘 명령을 실행하기 위해 장치 세부 정보를 매개 변수로 가져오고 그 다음에 별표를 연결하려고합니다. 예를 들어, 장치가 /etc/sda
이면 셸 명령은 ls -l /dev/sda*
이됩니다.Ansible 무비의 별표 표시
{
"changed": true,
"cmd": "ls -l \"0\"* | wc -l",
"delta": "0:00:00.027338",
"end": "2016-08-10 14:15:12.200415",
"failed": true,
"failed_when_result": true,
"rc": 0,
"start": "2016-08-10 14:15:12.173077",
"stderr": "ls: cannot access 0*: No such file or directory",
"stdout": "0",
"stdout_lines": [
"0"
],
"warnings": []
}
어느 하나가 문제가 무엇인지 그리고 내가 그것을 어떻게 해결할 수 있습니다 : 여기
- name: Get Hitachi Devices device details
shell: lsscsi | grep HITACHI | awk '{print $6}'
register: hitachiDevice
- name: Check if the volume is partitioned
shell: ls -l "{{ hitachiDevice.rc }}"* | wc -l
failed_when: hitachiDevice.rc != 1
은 내가 스크립트를 실행 한 후 얻을 오류가 무엇입니까?
장치의 파티션 ('/ etc/sda,/etc/sda1,'/ etc/sda1 ')이 첫 번째 명령에서 나에게 장치 이름/etc/sda2') 그리고 출력 라인 수를 계산하고 싶습니다. 행 수가 0이 아닌 경우 오류로 인해 장부 시작이 중지되어야합니다. – Omri
첫 번째 작업 후에 변수의 내용을'- debug : var = hitachiDevice'로 검사하십시오 - 라인이 아닌 복잡한 변수입니다. –
완료. ["/ dev/sdg" – Omri