Sebagai bagian dari skrip ini, saya harus dapat memeriksa apakah argumen pertama yang diberikan cocok dengan kata pertama dari file. Jika ya, keluar dengan pesan kesalahan; jika tidak, tambahkan argumen ke file. Saya mengerti bagaimana menulis ifpernyataan, tetapi tidak bagaimana menggunakannya grepdalam skrip. Saya mengerti bahwa grepakan terlihat seperti ini
grep ^$1 schemas.txt
Saya merasa ini seharusnya lebih mudah daripada saya membuatnya.
Saya mendapat kesalahan "terlalu banyak argumen" pada ifpernyataan itu. Saya menyingkirkan ruang antara grep -qdan kemudian mendapat kesalahan yang diharapkan operator biner.
if [ grep -q ^$1 schemas.txt ]
then
echo "Schema already exists. Please try again"
exit 1
else
echo "$@" >> schemas.txt
fi
[...]dan itu akan berhasil. Meskipun Anda mungkin ingin mengutip pola Anda:if grep -q "^$1" schemas.txt; then …