その先にあるもの…

expect, bash, "missing close bracket" 본문

Linux_Raspberry

expect, bash, "missing close bracket"

specialJ 2021. 3. 15. 19:21

kwonnam.pe.kr/wiki/linux/expect

쉘 스크립트에서 expect를 쓸려면

 

#!/usr/bin/expect

~~~

 

헌데 bash에서 쓰이는 명령어가  안먹힘

 

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

 

Bash 스크립트에 expect 스크립트 넣기 - 제타위키

✔️ expect version 5.44.1.15에서 테스트하였습니다. 1 개요[ | ] 쉘스크립트에 expect 문 넣기 Bash 스크립트에 expect 스크립트 넣기 장점1: 하나의 파일로 작성가능 장점2: expect에서 bash 변수를 바로 사용

zetawiki.com

bash에서 expect를 넣어서 사용하기

 

#!/bin/bash

ACCOUNTID="아이디"
PASSWORD="패[워드"
SERVERIP="xxx.x.xxx."


export PW=$PASSWORD

for LASTIP in {38..51}
do
        expect <<EOF
                set timeout 3

                spawn ssh $ACCOUNTID@$SERVERIP$LASTIP

                expect "login"
                        send "sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime\r"
                expect "password"
                        send \$env(PW)\r

        expect eof
EOF
done

 

 

패스워드에 [ 가 들어가 있는 상태

send로 보낸 패스워드가 에러가 난다.

\[로 처리해도 통하지 않았다.

export PW=$PASSWORD로 해결

 

The [...] syntax in Tcl/Expect is command substitutin just like `...` or $(...) in Bash

stackoverflow.com/questions/39994688/expect-script-return-missing-close-bracket

 

 

'Linux_Raspberry' 카테고리의 다른 글

리눅스 awk  (0) 2021.03.17
라즈베리파이4 ubuntu20.04 conda 설치  (0) 2021.03.16
작업 화면 및 창 사이즈 변환  (0) 2021.03.03
tar 특정 파일 풀기  (0) 2021.02.24
[LINUX] timezone 변경  (0) 2021.02.10
Comments