我有我的循环:
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
ETC
答案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
但不起作用,因为只是消除了我输入的两个变量。