Als Teil dieses Skripts muss ich überprüfen können, ob das erste angegebene Argument mit dem ersten Wort der Datei übereinstimmt. Wenn dies der Fall ist, beenden Sie das Programm mit einer Fehlermeldung. Wenn dies nicht der Fall ist, hängen Sie die Argumente an die Datei an. Ich verstehe, wie man die if
Anweisung schreibt , aber nicht, wie man sie grep
in einem Skript verwendet. Ich verstehe, das grep
wird ungefähr so aussehen
grep ^$1 schemas.txt
Ich denke, das sollte viel einfacher sein, als ich es mache.
Ich erhalte die Fehlermeldung "zu viele Argumente" if
. Ich habe den Zwischenraum entfernt grep -q
und dann einen fehlerhaften Binäroperator erwartet bekommen.
if [ grep -q ^$1 schemas.txt ]
then
echo "Schema already exists. Please try again"
exit 1
else
echo "$@" >> schemas.txt
fi
[
...]
und es wird funktionieren. Obwohl Sie wahrscheinlich Ihr Muster zitieren möchten:if grep -q "^$1" schemas.txt; then …