![케이스 함수를 어떻게 호출하나요?](https://linux55.com/image/83207/%EC%BC%80%EC%9D%B4%EC%8A%A4%20%ED%95%A8%EC%88%98%EB%A5%BC%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%ED%98%B8%EC%B6%9C%ED%95%98%EB%82%98%EC%9A%94%3F.png)
서버에 로그인하려면 다음 스크립트가 있습니다. 이 스크립트를 사용하면 내가 선택한 옵션에 따라 예상 스크립트를 사용하여 호스트에 자동으로 로그인할 수 있습니다. 호스트에서 로그아웃한 후 터미널에 로그인합니다.
서버에서 로그아웃하면 스크립트를 종료하는 대신 옵션을 다시 묻는 메시지가 표시되도록 도움이 필요합니다.
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
이미 종료 조건이 있으므로 이것이 작동합니다. 그렇지 않은 경우 어떻게 실패했는지 설명해주세요.