expect 언어도 써보도록 한다.
기초는 차차 쓰고
일단 코드짜다가 막혔던 정규표현식 비교 부터
expect(tcl)에서 정규표현식을 비교하는 함수가 따로 있었다.
(헤딩 엄청했네;;;)
바로
"regexp"
사용법은 아래와 같다.
regexp {정규표현식} 대상변수 결과값변수 |
해당 함수의 결과값을 가지고 여러 작업을 하게 되는데
아래 예제처럼 쓸 수 있다.
#!/usr/bin/expect -f set timeout 4 log_file -noappend ./test1 spawn "bash" array set fst { 0 "echo 0" 1 "echo 1" 2 "2" 3 "3" 4 "echo 4" } for {set I 0} {$I < [array size fst]} {incr I 1} { puts "<$I>" if { [regexp {echo*} $fst($I) match] } { set I2 0 while {true} { puts "$fst($I)-$I2" if {$I2 == 3} { break } set I2 [expr $I2 + 1] } } else { puts "else" } } log_file
sleep 1
expect eof |
배열 fst에서 멤버 중 echo를 포함한 애들은
0~2까지 "echo 0-0" 형식으로 출력
그 외에는 "else" 출력
내용상 굉장히 이상해 보이지만...
애초에 다른 목표를 가지고 짠 알고리즘이라
데모처럼 돌려 본거.. 되는지 안되는지
ㅋㅋㅋㅋㅋㅋㅋㅋㅋ
무튼 끝
- 참조
http://coffeenix.net/board_view.php?bd_code=1682
'IT > Programing' 카테고리의 다른 글
[Android] Android Studio 설치 (0) | 2022.04.11 |
---|---|
[Expect] 함수 사용법 (2) | 2020.05.07 |
언리얼엔진 무료 강좌 (0) | 2020.04.28 |
[Bash Shell Script] tcpdump 패킷 저장 예제 (with signal) (0) | 2020.04.13 |
[Python] getopt (스크립트 매개변수 지정) (0) | 2020.04.07 |