1
私は2つの変数(PACKAGE_NAME
とPACKAGE_LIST
)を持っています。PACKAGE_LIST
にPACKAGE_NAME
が含まれているかどうかを確認しようとしています。ここでリストに特定の文字列が含まれているかどうかをチェック
は私が持っているものです。
PACKAGE_LIST="rpm-foo-bar:5.0.1"
PACKAGE_NAME="rpm-foo"
if [[ ${PACKAGE_LIST} =~ "${PACKAGE_NAME}" ]]; then
echo "PACKAGE_NAME is in PACKAGE_LIST"
else
echo "PACKAGE_NAME is NOT in PACKAGE_LIST"
fi
私がいる問題はrpm-foo
がrpm-foo-bar
に似ていながら、それは同じではないことであるとelse文に分類すべきである(PACKAGE_NAME
がPACKAGE_LIST
ではありません)。文字列の比較に$
を追加しようとしましたが、これはPACKAGE_LIST
がPACKAGE_NAME
で終わる場合にのみ機能します。代わりに、PACKAGE_LIST
にバージョンが追加されています。小切手を「PACKAGE_NAME
がPACKAGE_LIST
にない」になるように、この小切手をよりスマートにするにはどうすればよいですか?
注:時々PACKAGE_LIST
バージョンは含まれませんし、次のようになります。
PACKAGE_LIST="rpm-foo-bar"
PACKAGE_LISTはバージョンが含まれている場合に動作すること。私はそれが必ずしもそうではないことを含めるために質問を更新しました。 –
私は私の答えを更新しました – redneb
私はまたはを使用することについて考えていなかった。これは素晴らしいです。ありがとう! –