Expect script: como esperar um caracter literal * em vez de * como caractere glob ou regex

0

Eu tenho um script que gera uma conexão ao hunspell para verificar a ortografia de uma palavra. Infelizmente, se a palavra estiver no dicionário, o hunspell simplesmente envia de volta um *. Como posso dizer esperar interpretá-lo como um personagem em vez de "qualquer coisa"?

    
por m00tpoint 26.10.2015 / 23:21

1 resposta

1

Existem duas camadas: o correspondente de padrões e o TCL. O truque é inverter uma barra invertida para que a estrela subseqüente não seja especial depois de passar pelas camadas envolvidas.

#!/usr/bin/expect -f

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

puts $gots
    
por 27.10.2015 / 00:06

Tags