特定の値を選択します。
LIST = pre1 pre2 pre3 pre4 pre5 pre6 pre7 pre8 pre9 pre10
START = 0
for prefix in $(LIST); do \
if $(input) == $(prefix) then
START = 1
endif \
if $(START) == 1 then \
if [ -f $(prefix)<file_name> ]; then <do_A>; else <do_B>; fi
endif \
done
言及したなら私の問題は2であります上記。私はどのようにリストから特定の文字列値を選択することができますか($(入力)== $(接頭辞))と私は値が1または0であるかどうかを確認する方法を知らない$(START)== 1ならば)。
このコードでは、ファイル名は同じですが異なる接頭辞を持つ異なるディレクトリに同じメイクファイルを使用します。時々、ディレクトリには異なるプレフィックスを持つファイルの複数のバージョンが含まれていることがあります。これらのプレフィックスの階層を定義したいと思います(私の例ではLISTで定義されています)。ユーザーがバージョンを提供するとき、彼が提供するバージョンから開始して最新バージョンの検索を開始することです(ユーザーがpre4を提供する場合、pre4を最初に検索する必要があります。 pre5などを検索しますが、この例では、現在のディレクトリに存在していてもpre1は検索しません)。
誰でもどのようにすればいいのですか?
ありがとうございます。
これは少し不明です。 pre4 *が存在する場合、プロセスはpre5、pre6 ...に続行する必要がありますか? – Beta
まあ、アイデアは続かない。これは私の問題ではありません。私はそれを扱う方法を知っていると思います(のSTARTを0に再設定してください) –
user897621
...それは今までに 'do B'をするべきですか? – Beta