Como parte desse script, preciso verificar se o primeiro argumento fornecido corresponde à primeira palavra do arquivo. Se houver, saia com uma mensagem de erro; caso contrário, anexe os argumentos ao arquivo. Eu entendo como escrever a if
declaração, mas não como usar grep
em um script. Eu entendo que grep
será algo parecido com isto
grep ^$1 schemas.txt
Eu sinto que isso deve ser muito mais fácil do que estou fazendo.
Estou recebendo um erro "muitos argumentos" na if
declaração. Eu me livrei do espaço entre elas grep -q
e recebi um erro que o operador binário esperava.
if [ grep -q ^$1 schemas.txt ]
then
echo "Schema already exists. Please try again"
exit 1
else
echo "$@" >> schemas.txt
fi
[
...]
e vai funcionar. Embora você provavelmente queira citar seu padrão:if grep -q "^$1" schemas.txt; then …