如果满足某些条件则重复当前循环迭代(bash)

如果满足某些条件则重复当前循环迭代(bash)

我正在编写一个 bash 脚本,它将文件和目录作为参数。

如果满足某些条件,它将循环遍历其参数并重命名当前参数。当发生这种情况时,我还想重复当前的循环迭代。

我可以在不诉诸 while 或 c 风格的 for 循环的情况下完成这样的事情吗?

答案1

检查“某些条件”时使用while代替。if

for file in "$@" ; do
    while [[ $file ... ]] ; do
        mv "$file" ...
    done
done

答案2

for FILE in <Your_Path>
do
if [ -f $args ]; then
    if [ <check_your_condition_here> ]; then
    mv $args $args_renamed
    fi
elif [ -d $args ]; then
    if [ <check_your_condition_here> ]; then
    mv $args $args_renamed
    fi
fi
done

只需设置标志即可重复该迭代的循环,考虑到运行时值,该循环需要是动态的。 IHTH

相关内容