Нет расширения глобуса без опции -re в Expect - PullRequest
1 голос
/ 09 марта 2012
#!/usr/bin/expect

spawn passwd [lindex $argv 0]
set password [lindex $argv 1]

expect -nocase "pass*" {
      send "$password\r"
}

expect -nocase "password" {
      send "$password\r"
}

expect eof

Как я могу предотвратить расширение глобуса * в pass*?Это всего лишь пример.В моем реальном коде я хочу сохранить глобус, но не хочу указывать -ex, что означает точное совпадение, или параметр -re для регулярного выражения.

Ответы [ 2 ]

2 голосов
/ 09 марта 2012

Если вы хотите совпадение в стиле глобуса, используйте параметр -gl перед ним:

expect {
    -gl -nocase "pass*" {
        # Do something...
    }
}
1 голос
/ 04 февраля 2013

Как вы написали, чтобы не допустить скопления *, используйте -ex.По умолчанию предполагается -gl.Или используйте -re и выберите * как: \\*.

...