for (( j=1; j <= i; j++ ))
do
# process something as sequential within loop #
if [ ! -f specific_file_$id ]; then
echo " Necessary File not found! "
echo " starting the current process again for the last time "
fi
done
在这个循环中,如果specific_file_$id
(wrt loop step)在处理后没有创建,我需要最后一次重复循环中的相关过程。如果重复的过程仍然无法创建文件,我应该转到循环中的下一个过程。这可能吗?
答案1
为了尝试回答您的问题,根据您的评论,您可能需要在声明中包含您想要重复的过程if
,这当然取决于这些过程正在做什么:
for (( j=1; j <= i; j++ ))
do
# process something as sequential within loop #
if [ ! -f specific_file_$id ]; then
echo " Necessary File not found! "
echo " starting the current process again for the last time "
# process responsible for the creation of specific_file_$id #
fi
done
由于该if
语句仅在文件不存在时触发,因此您可以重复负责文件创建的流程部分,这将使用在该特定迭代中设置的任何变量。语句if
完成后,for
循环将继续进行下一次迭代,任何未创建的其他文件都将以相同的方式处理。