Як частина цього сценарію, мені потрібно мати можливість перевірити, чи відповідає перший аргумент першому слову файлу. Якщо це так, вийдіть із повідомленням про помилку; якщо цього немає, додайте аргументи до файлу. Я розумію, як написати 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 …