2016-12-14 4 views
0

Я хотел бы проверить, установлен ли пакет rpm на сервере и его версия.Найти установленный пакет с ожиданием по linux

send "rpm -qa | grep ^cman\r" 
expect { 
    -re "(cman-.*)\r" { set cman $expect_out(0,string) } 
    default { set cman "no cman" } 
} 

Он работает правильно, когда установлен cman, но ждет с таймаутом, когда cman нет в списке.

Как я могу проверить ничью?

ответ

1

Попробуйте так:

send "rpm -qa | grep ^cman || echo 'c'man_not_found\r" 
expect { 
    -re "(cman-.*)\r" { 
    set cman $expect_out(1,string) 
    } 
    cman_not_found { 
    set cman "no cman" 
    } 
} 
+0

Главный урок, который я узнал из этого: ошибка никогда не должны проходить молча. благодаря – jshepherd

 Смежные вопросы

  • Нет связанных вопросов^_^