Як частина цього сценарію, мені потрібно мати можливість перевірити, чи відповідає перший аргумент першому слову файлу. Якщо це так, вийдіть із повідомленням про помилку; якщо цього немає, додайте аргументи до файлу. Я розумію, як написати if
заяву, але не як використовувати grep
сценарій. Я розумію, що grep
буде виглядати приблизно так
grep ^$1 schemas.txt
Я відчуваю, що це має бути набагато простіше, ніж я це роблю.
Я отримую помилку "занадто багато аргументів" у if
заяві. Я позбувся місця між, grep -q
а потім очікував помилку бінарного оператора.
if [ grep -q ^$1 schemas.txt ]
then
echo "Schema already exists. Please try again"
exit 1
else
echo "$@" >> schemas.txt
fi
[
…]
і воно спрацює. Хоча ви, мабуть, хочете процитувати свій зразок:if grep -q "^$1" schemas.txt; then …