Erro comando shell shell de teste

0

Olá, tenho um erro neste código. Eu quero verificar se o arquivo é legível e gravável e verificar se este arquivo contém a string "/ usr / bin / python2", mas o shell imprime este erro:

grep /usr/bin/python2

Como posso resolver isso?

if test -f $i -a test -w $i -a 'grep /usr/bin/python2 < $i'
then
   echo $i
fi
    
por Riki Dev 05.10.2016 / 11:51

1 resposta

2
if test -r "$i" -a -w "$i" && grep -q "/usr/bin/python2" "$i"
then
   echo "$i"
fi

Você também pode evitar toda a instrução if e verificar se a legibilidade é feita pelo grep implicitamente:

test -w "$i" && grep -l "/usr/bin/python2" "$i" 2>/dev/null
    
por 05.10.2016 / 12:23