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 if
pernyataan, tetapi tidak bagaimana menggunakannya grep
dalam skrip. Saya mengerti bahwa grep
akan terlihat seperti ini
grep ^$1 schemas.txt
Saya merasa ini seharusnya lebih mudah daripada saya membuatnya.
Saya mendapat kesalahan "terlalu banyak argumen" pada if
pernyataan itu. Saya menyingkirkan ruang antara grep -q
dan 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 …