Come parte di questo script, devo essere in grado di verificare se il primo argomento fornito corrisponde alla prima parola del file. In tal caso, uscire con un messaggio di errore; in caso contrario, aggiungere gli argomenti al file. Capisco come scrivere la if
dichiarazione, ma non come utilizzare grep
all'interno di uno script. Capisco che grep
sarà simile a questo
grep ^$1 schemas.txt
Sento che questo dovrebbe essere molto più semplice di quello che sto facendo.
Ricevo un errore "troppi argomenti" if
sull'istruzione. Mi sono liberato dello spazio tra grep -q
e poi mi aspettavo un errore binario dell'operatore.
if [ grep -q ^$1 schemas.txt ]
then
echo "Schema already exists. Please try again"
exit 1
else
echo "$@" >> schemas.txt
fi
[
...]
e funzionerà. Anche se probabilmente vuoi citare il tuo schema:if grep -q "^$1" schemas.txt; then …