내 세상

[Ubuntu] Shell Script, rc.local Exception Handling 본문

Technical/Ubuntu

[Ubuntu] Shell Script, rc.local Exception Handling

sga8 2021. 11. 3. 18:25
728x90
반응형

Shell Script 또는 rc.local에서 Exception 처리가 필요할 때가 있음.

rc.local의 경우, 중간에 permission denied와 같은 에러가 발생했을 때 rc.local service가 정상적으로 올라오지 않는다.

 

service가 정상적으로 올라오지 않을 때는 아래 명령어로 확인 가능.

systemctl status rc-local
또는
journalctl -xe

 

 

Exception 처리는 아래와 같이 처리 가능함. 

echo "Start"
echo 1 > /sys/babo

if [ $? -eq 0 ];then
    echo "CMD OK"
else
    echo "CMD Fail"
fi
echo "Finish"

 

위 코드는 1을 /sys/babo에 echo하는 코드이다.

코드의 위/아래 부분에 식별용 Start/Finish Echo를 추가한다.

 

명령어 직후 $?를 통해 결과를 받고, 해당 값이 0이면 정상적으로 동작한 것이고

그 외라면 비정상동작이기 때문에 각각 echo를 찍고 끝내도록 함.

728x90
반응형