예상 스크립트: * 대신 리터럴 * 문자를 glob 또는 정규식 문자로 예상하는 방법

예상 스크립트: * 대신 리터럴 * 문자를 glob 또는 정규식 문자로 예상하는 방법

단어의 철자를 확인하기 위해 hunspell에 대한 연결을 생성하는 Expect 스크립트가 있습니다. 불행하게도 hunspell은 단어가 사전에 있는 경우에만 *를 다시 보냅니다. "아무것도"가 아닌 문자로 해석될 것으로 예상하는지 어떻게 알 수 있나요?

답변1

패턴 일치기와 TCL의 두 가지 레이어가 있습니다. 요령은 하나의 백슬래시를 백슬래시하여 관련 레이어를 통과한 후 다음 별표가 더 이상 특별하지 않도록 하는 것입니다.

#!/usr/bin/expect -f

#spawn echo "cat"
spawn echo "*"
expect {
    "cat" { set gots "dog" }
    "\\*" { set gots "star" }
}

puts $gots

관련 정보