Dans le cadre de ce script, je dois être en mesure de vérifier si le premier argument donné correspond au premier mot du fichier. Si c'est le cas, quittez avec un message d'erreur; Si ce n'est pas le cas, ajoutez les arguments au fichier. Je comprends comment écrire la if
déclaration, mais pas comment l'utiliser grep
dans un script. Je comprends que ça grep
va ressembler à quelque chose comme ça
grep ^$1 schemas.txt
Je pense que cela devrait être beaucoup plus facile que je ne le fais.
Je reçois une erreur "trop d'arguments" sur la if
déclaration. Je me suis débarrassé de l'espace entre les deux grep -q
puis j'ai obtenu une erreur d'opérateur binaire.
if [ grep -q ^$1 schemas.txt ]
then
echo "Schema already exists. Please try again"
exit 1
else
echo "$@" >> schemas.txt
fi
[
…]
et ça va marcher. Bien que vous souhaitiez probablement citer votre modèle:if grep -q "^$1" schemas.txt; then …