このスクリプトの一部として、指定された最初の引数がファイルの最初の単語と一致するかどうかを確認できる必要があります。存在する場合は、エラーメッセージで終了します。そうでない場合は、引数をファイルに追加します。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 …