Использование булевых выражений в операторе if?

Использование булевых выражений в операторе if?

Я хочу сделать оператор if then: Если переменная i равна регулярному выражению для значений от 0 до 9 И если grep не возвращает никаких результатов, то что-то сделать. Это правильный синтаксис?

if [[ $i =~ [0-9] ]] && if ! grep $i /opt/tftpboot/*; then

или это

if [[ $i =~ [0-9] ]] && ! [[ grep $i /opt/tftpboot/* ]]; then

решение1

Его:

if [[ $i =~ [0-9] ]] && ! grep $i /opt/tftpboot/*; then

Вам, вероятно, не нужны выходные данные grep, в таком случае вы можете сделать:

if [[ $i =~ [0-9] ]] && ! grep -q $i /opt/tftpboot/*; then

Связанный контент