디스크 어레이에 오류가 발생할 경우 작업을 수행하는 스크립트를 만들려고 합니다. 명령을 실행하면 숫자 4가 반환되어야 합니다( grep
"OK"라는 단어는 각 디스크에 대해 한 번씩 4번 계산됩니다).
그런 다음 OK가 4개 이하인지 확인하고 몇 가지 작업을 수행하고 싶습니다.
이것은 내 스크립트입니다.
#!/bin/bash
$okdevices = hpssacli controller slot=4 physicaldrive all show | grep -c "OK"
if [ $okdevices -lt 4 ]
then
echo "disk missing"
fi
단항 연산자가 필요하다는 오류가 반환됩니다.
답변1
변수에 할당된 명령 출력이 잘못되었습니다. "4"를 사용하여 "hpssacli 컨트롤러 슬롯=4physicaldrive all show | grep -c OK" 문자열을 평가하고 있습니다.
이것은 작동합니다:
#!/bin/bash
okdevices="$(hpssacli controller slot=4 physicaldrive all show | grep -c OK)"
if [ $okdevices -lt 4 ]; then
echo "missing disk"
fi