bash – for for循环目录中的每个文件夹,不包括其中一些文件夹

前端之家收集整理的这篇文章主要介绍了bash – for for循环目录中的每个文件夹,不包括其中一些文件夹前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
非常感谢您提前帮助!

我在bash中有这个代码

for d in this_folder/*    
    do    
        plugin=$(basename $d)
        echo $plugin'?'
        read $plugin
    done

这就像一个魅力.对于’this_folder’中的每个文件夹,将其作为一个问题回显并将输入存储到具有相同名称的变量中.

但是现在我想排除一些文件夹,例如,它会询问该目录中的每个文件夹,只要它们不是以下任何文件夹:global,plugins和css.

任何想法我怎样才能做到这一点?

谢谢!

更新:

这是最终代码的样子:

base="coordfinder|editor_and_options|global|gyro|movecamera|orientation|sa"

> vt_conf.sh
echo "# ========== Base"     >> vt_conf.sh
for d in $orig_include/@($base)
do
    plugin=$(basename $d)
    echo "$plugin=y"         >> vt_conf.sh
done
echo ''                      >> vt_conf.sh
echo "# ========== Optional" >> vt_conf.sh
for d in $orig_include/!($base)
do
    plugin=$(basename $d)
    echo "$plugin=n"         >> vt_conf.sh
done
如果你有最新版本的bash,你可以使用扩展的globs(shopt -s extglob):
for d in this_folder/!(global|plugins|css)/   
do    
    plugin=$(basename "$d")
    echo $plugin'?'
    read $plugin
done
原文链接:https://www.f2er.com/bash/384142.html

猜你在找的Bash相关文章