私のループがあります
for i in 1.34*
do
if [ -f $i/rela/*log ] ; then
echo $i >> /tmp/allog
else
echo $i >> /tmp/alnolog
fi
done
うまくいきます。昇順にリストされているさまざまなバージョンのディストリビューションがあります。通常、ディレクトリへのログなしですべてのバージョンを含む別のファイルを作成する必要があります。問題は、このファイルを生成して複数のバージョンを挿入する必要があるときです。
スクリプトを生成して実行する必要がある最初と最後のバージョンを要求したいです(このバージョンの一般的な形式は1.34.0.04です)。
答え1
単純なシェルモードから抜け出すこともできます。例えば
for i in 1.3[4-9]* 1.4[0-3]*
リビジョン1.34 to
1.43`と一致for i in 1.34.0.0[4-9]* 1.34.0.[1-9]* 1.34.[1-2].0[1-5]*
マッチ1.34.0.04
リビジョン1.34.2.05
など
答え2
このスクリプトを作成しようとしています。
echo "Enter The Release Which You Have to start with : \c"
read START
echo "Enter The Release Which You Have to finish with : \c"
read END
cd ${RELDIR}
for i in $(eval echo "{$START..$END}")
do
if [ -f $i/rela/*log ] ; then
echo $i >> /tmp/allog
else
echo $i >> /tmp/alnolog
fi
done
しかし、私が入力した2つの変数だけを削除するので、うまくいきません。