サーバーにログインするには、次のスクリプトがあります。このスクリプトを使用すると、選択したオプションに応じて、予想されるスクリプトを使用してホストに自動的にログインできます。ホストからログアウトして端末にログインします。
サーバーからログアウトした場合は、スクリプトを終了するのではなく、オプションの再入力を求める助けが必要です。
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
すでに終了条件があるため、これは機能します。そうでない場合は、どのように失敗したかを説明してください。