Usando expressões booleanas na instrução if?

2

Eu quero fazer uma declaração if then: Se a variável i for igual a regex para 0 a 9 E se o grep não retornar nenhum resultado, então faça alguma coisa. Esta é a sintaxe correta?

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

ou é

if [[ $i =~ [0-9] ]] && ! [[ grep $i /opt/tftpboot/* ]]; then
    
por Evan 05.10.2015 / 16:44

1 resposta

4

É:

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

Você provavelmente não precisa da saída de grep . Nesse caso, você pode fazer isso:

if [[ $i =~ [0-9] ]] && ! grep -q $i /opt/tftpboot/*; then
    
por muru 05.10.2015 / 16:45