我正在编写一个 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