version
次のテキストを含むファイル(名前)があります。
version=31
bash
ファイルに以下が含まれていることを確認するスクリプトが必要ですversion=31
。その場合はスクリプトを実行し続け、そうでない場合は次のメッセージで終了しますImage is not Image 31
。
どうすればいいですか?
ベストアンサー1
これが、関連するバージョンファイルで複数のイメージファイルを繰り返す大きなスクリプトの一部であるとしましょう。
# image_fname: the filename of the image file
# image_version_fname: the filename of the image version info file
# image_version: an integer with the supposed version number
if ! grep -F -x -q "version=$image_version" "$image_version_fname"
then
printf 'Warning: Image "%s" is not image %d\n' "$image_fname" "$image_version" >&2
echo 'Warning: Version file contains:' >&2
cat "$image_version_fname" >&2
fi
grep
「正規表現ではなく固定文字列で一致」(-F
)、「行全体と一致」(-x
)、および「一致自体ではなく終了状態にのみ興味があります」(-q
)を意味するフラグです。