微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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.jb51.cc/bash/384142.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐