Ho uno script che emette circa 10 righe ogni volta se viene eseguito. Il contenuto di queste linee varia.È possibile inserire una frase if?
Mi piacerebbe molto essere in grado di grep
nell'output e fare cose diverse a seconda dell'output.
In pseudo questo è quello che vorrei fare
cat /etc/password | \\
if [ grep "root" $STDOUT ]; then
echo "root is found"
elif [ grep "nobody" $STDOUT ]; then
echo "nobody is found"
fi
Qui ho ho usato cat /etc/password
come esempio, ma dovrebbe essere sostituito con i miei script di cui sopra.
Il problema è: come posso ottenere l'uscita da cat /etc/password
nelle condizioni if
/elif
?
Forse awk o Perl sono più adatte per il vostro compito .. – bew
non utilizzare 'cat' se l'intenzione non è né visualizzata né concatenata. Qui puoi semplicemente dare il file nella riga di comando grep, perché è accettato, altrimenti puoi semplicemente reindirizzare il file ('<'). – Benoit
Non è necessario continuare la linea dopo '|', '&&' e '||' –