posted by 귀염둥이채원 2021. 4. 23. 01:15

expect는 다른 응용 어플리케이션과 상호대화(interactive)하는 프로그램을 만들기 위해 만들어진 프로그램이다.
expect를 이용하면 다른 어플리케이션과 상호대화를 할수 있게 됨으로 자동화된 프로그램을 만들수가 있다.

ssh 접속

#!/bin/sh
USER=testuser
IP=192.168.10.2
PW=testpw
expect <<EOF
set timeout 3
spawn ssh -o StrictHostKeyChecking=no $USER@$IP "hostname"
expect "password:"
    send "$PW\r"
expect eof
EOF

hue 신규 계정 생성

#!/bin/bash

sudo yum install -y expect

expect <<EOF
spawn /usr/lib/hue/build/env/bin/hue createsuperuser
expect "Username (leave blank to use 'hadoop'):" {send "hue\r"}
expect "Email address:" {send "hue@email.com\r"}
expect "Password" {send "Huereco1!\r"}
expect "Password (again)" {send "Huereco1!\r"}
expect eof
EOF

참고사이트

https://zetawiki.com/wiki/Bash_%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%97%90_expect_%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8_%EB%84%A3%EA%B8%B0
https://must-thanks.tistory.com/156
https://zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_expect