케이스 함수를 어떻게 호출하나요?

케이스 함수를 어떻게 호출하나요?

서버에 로그인하려면 다음 스크립트가 있습니다. 이 스크립트를 사용하면 내가 선택한 옵션에 따라 예상 스크립트를 사용하여 호스트에 자동으로 로그인할 수 있습니다. 호스트에서 로그아웃한 후 터미널에 로그인합니다.

서버에서 로그아웃하면 스크립트를 종료하는 대신 옵션을 다시 묻는 메시지가 표시되도록 도움이 필요합니다.

PS3='Please enter your choice: '

select options in Testserver1 Testserver2 Quit

do

    case $options in

        "Testserver1")
            echo "you chose SOX DS's"
            DSS=Testserver1
            break
            ;;
        "Testserver2")
            DSS=Testserver2
            break
            ;;
        "Quit")
           exit 0
           ;;
        *) echo invalid option
           exit
           ;;
    esac
done

        echo "$DSS"

expect -c "spawn /usr/bin/ssh -o StrictHostKeyChecking=no c1177243@$DSS \r\"; expect -re \"password:\"; send \"dummy@1233\n\"; expect -ex \"$\"; send \"sudo su - $env\n\"; expect \"c1177243\"; send \"dummy@1233\n\"; expect -ex \"$\"; send \"ls\r\"; expect -ex \"$\"; send \"cd splunk/etc/deployment-apps\r\"; interact"

}

답변1

다음과 같이 스크립트를 래핑하세요.

while true
do
  ... your script here
done

이미 종료 조건이 있으므로 이것이 작동합니다. 그렇지 않은 경우 어떻게 실패했는지 설명해주세요.

관련 정보