W ramach tego skryptu muszę być w stanie sprawdzić, czy pierwszy podany argument pasuje do pierwszego słowa pliku. Jeśli tak, wyjdź z komunikatem o błędzie; jeśli nie, dołącz argumenty do pliku. Rozumiem, jak napisać ifinstrukcję, ale nie wiem, jak jej używać grepw skrypcie. Rozumiem, że grepbędzie to wyglądać mniej więcej tak
grep ^$1 schemas.txt
Wydaje mi się, że powinno to być znacznie łatwiejsze niż robię.
Występuje błąd „zbyt wiele argumentów” w ifinstrukcji. Pozbyłem się miejsca między, grep -qa następnie wystąpił błąd, którego oczekiwał operator binarny.
if [ grep -q ^$1 schemas.txt ]
then
echo "Schema already exists. Please try again"
exit 1
else
echo "$@" >> schemas.txt
fi
[…]i to zadziała. Chociaż prawdopodobnie chcesz zacytować swój wzór:if grep -q "^$1" schemas.txt; then …