加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-16 01:26:52 所属栏目:安全 来源:网络整理
导读:非常感谢您提前帮助! 我在bash中有这个代码: for d in this_folder/* do plugin=$(basename $d) echo $plugin'?' read $plugin done 这就像一个魅力.对于’this_folder’中的每个文件夹,将其作为一个问题回显并将输入存储到具有相同名称的变量中. 但是现在
非常感谢您提前帮助!

我在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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读