Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用Makefile列表筛选出目录

使用Makefile列表筛选出目录
EN

Stack Overflow用户
提问于 2016-09-22 06:00:53
回答 1查看 2.8K关注 0票数 1

我试图为我的makefile制定这个发布规则--它的工作是复制文件夹中的目录,除了一些(比如目的地等)--我看过makefile filter函数,但是它似乎在bash循环中不能工作吗?有没有一种简单的方法可以过滤掉bash列表中的项目?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SOURCE_DIR=builds/$(NAME)_$(VERSION)

#List of items to ignore
IGNORE=builds cfg compiled

release:
if [ -d "cfg" ]; then \
    cp -r cfg $(SOURCE_DIR)/cfg; \
fi;
for folder in *; do \
    if [ -d "$$folder" ]; then \
            if [[ $(IGNORE) != $$folder ]]; then \
                cp -r $$folder $(SOURCE_DIR)/addons/; \
            fi; \
    fi; \
done;
EN

回答 1

Stack Overflow用户

发布于 2016-09-22 16:05:08

滤出函数是一个Make函数,所以如果要使用它,必须在将命令传递给shell之前使用它。

您可以在规则之外使用它:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
THINGS := $(wildcard *)
IGNORE = builds cfg compiled
THINGS := $(filter-out $(IGNORE), $(THINGS))

release:
    @for folder in $(THINGS); do \
      if [ -d $$folder ]; then \
        echo $$folder; \
      fi; \
     done

或在规则内:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
THINGS := $(wildcard *)
IGNORE = builds cfg compiled

release:
    @for folder in $(filter-out $(IGNORE), $(THINGS)); do \
      if [ -d $$folder ]; then \
        echo $$folder; \
      fi; \
     done

或者您可以继续使用for folder in *...并在bash中筛选列表:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
IGNORE = builds cfg compiled

release:
    @for folder in *; do \
      if [ -d $$folder ]; then \
        [[ "$(IGNORE)" =~ $$folder ]] || echo $$folder; \
      fi; \
     done
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39641219

复制
相关文章
多文件目录Makefile的写法
  linux下程序开发,涉及到多个文件,多个目录,这时候编译文件的任务量比较大,需要写Makefile
杨永贞
2020/08/04
4K0
多文件目录Makefile的写法
makefile 指定文件的生成目录[通俗易懂]
1.上一篇博客虽然简单实现了自动处理依赖关系,但是生成的各种临时文件都混在一起,太乱了。
全栈程序员站长
2022/09/01
4.3K0
Linux — Makefile的学习笔记以及多级目录下Makefile的编写
1、由于Makefile中对于制表符(tab)、还有unix和windows中对于换行符的不同等等原因,本文中所有的Makefile文件中的内容不建议您直接复制然后粘贴使用,如果可以手动敲入是为最佳。如果出现在make的时候出现异常,请详细检查并关注文件格式以及内容编写的格式等等。
全栈程序员站长
2022/09/06
5.7K0
Linux — Makefile的学习笔记以及多级目录下Makefile的编写
Makefile 使用总结
http://www.cnblogs.com/wang_yb/p/3990952.html
bear_fish
2018/09/20
3.6K0
makefile基本使用
在linux和unix中,有一个强大的实用程序,叫make,可以用它来管理多模块程序的编译和链接,直至生成可执行文件。 make程序需要一个编译规则说明文件,称为makefile,makefile文件中描述了整个软件工程的编译规则和各个文件之间的依赖关系。 makefile就像是一个shell脚本一样,其中可以执行操作系统的命令,它带来的好处就是我们能够实现“自动化编译”,一旦写好,只要一个make命令,整个软件功能就完全自动编译,提高了软件开发的效率。 make是一个命令工具,是一个解释makefile中
aruba
2020/07/02
1.1K0
Makefile 的使用
在 Linux 中使用 make 命令来编译程序,特别是大程序;而 make 命令所执行的动作依赖于 Makefile 文件。最简单的 Makefile 文件如下:
韦东山
2020/10/30
4.3K1
Makefile 的使用
使用Docker快速安装OneList目录列表程序
说明:OneList之前介绍过了,一个基于Python3的简约OneDrive目录列表,具体查看→传送门,优势是简洁,而且可以减少因api抽风导致空目录的情况,由于有人反映需要Docker镜像,所以博主就花了几分钟做了个,这里就分享下。
子润先生
2021/05/29
1.2K0
使用Docker容器部署Zdir目录列表程序
Zdir是一款使用PHP开发的目录列表程序,无需数据库,安装简单,使用方便。现已支持Docker方式部署,欢迎使用。
星哥玩云
2022/08/13
6340
使用Docker容器部署Zdir目录列表程序
makefile 如何 使用
上面的Makefile文件就是要编译出一个firstTest的可执行文件,逐句分析:
用户8418197
2021/08/29
2.5K0
Nginx 目录列表美化
本文链接:https://lisz.me/tech/webmaster/ngx-fancyindex.html
zhonger
2022/10/28
7830
Linux makefile使用基础
makefile就像一个Bash脚本,其中也可以执行操作系统的命令。makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。
xxpcb
2020/08/04
4.3K0
Go 项目使用 Makefile
Go 提供一个名为go的命令,该命令可自动下载、构建、安装和测试 Go 包和命令。
frank.
2022/05/17
1.9K0
Go使用Makefile构建
Makefile 是和 make 命令一起配合使用的。它是开源的构建工具,很多大型项目的编译都是通过 Makefile 来组织的。
程序员同行者
2019/04/22
9170
Go使用Makefile构建
Java 使用iText读取PDF文档目录列表(zz)
iText是一个十分强大的用java操作pdf的类库,可以读取和写入pdf,以下是使用iText读取pdf目录结构的方法。
forrestlin
2022/04/02
2.3K0
使用Makefile构建Docker
刚开始学习docker命令的时候,很喜欢一个字一个字敲,因为这样会记住命令。后来熟悉了之后,每次想要做一些操作的时候就不得不 重复的输入以前的命令。当切换一个项目之后,又重复输入类似但又不完全相同的命令,仅仅通过history命令加速也有限。
Ryan-Miao
2019/08/29
3.8K0
Docsify 如何添加目录列表
你也可以访问我们的文档,获得直观的内容:https://cwiki-us-docs.github.io/spring-docs/#/
HoneyMoose
2020/09/26
2.5K0
Docsify 如何添加目录列表
威联通(QNAP)使用Docker安装Zdir目录列表程序
Zdir是一款使用PHP开发的目录列表程序,无需数据库,安装简单,使用方便,同时支持Docker方式部署。
星哥玩云
2022/08/13
2K0
威联通(QNAP)使用Docker安装Zdir目录列表程序
快速上手和使用makefile
想学习一样东西,最好先问个为什么要这样,这样学起来才有目标。上大学时,老师讲课总是告诉我们必须这样那样,很少讲这门课是干什么的,有什么意义,有什么用。有一次我问老师,为什么要傅里叶变换,学习它能用来做什么,老师先是很惊讶,然后耐心的给所有同学都讲了讲,老师讲完也很欣慰,笑着说因为很少有学生去问这样的问题。所以也只是讲课,没讲实际的应用和原理的东西。学生们听了也有兴趣了,学也认真了。
杨永贞
2020/08/04
1.4K0
素数筛法(Eratosthenes筛法)
Eratosthenes筛法,又名埃氏筛法,对于求1~n区间内的素数,时间复杂度为n log n,对于10^6^ 以内的数比较合适,再超出此范围的就不建议用该方法了。 筛法的思想特别简单: 对于不超过n的每个非负整数p, 删除2p, 3p, 4p,…, 当处理完所有数之后, 还没有被删除的就是素数。
_DIY
2019/09/11
1.7K0
h5ai 目录列表程序完整安装使用教程
什么是h5ai H5ai是一款功能强大 php 文件目录列表程序,由德国开发者 Lars Jung 主导开发,它提供多种文件目录列表呈现方式,支持多种主流 Web 服务器,例如 Nginx、Apache、Cherokee、Lighttpd 等,支持多国语言,可以使用本程序在线预览文本、图片、音频、视频等。 请注意,默认情况下,放到目录下的 .php 文件将会被直接执行,并不以文本显示。 安装 首先要先搭建好web服务器,例如:LNMP(Liunx/Ngnix/MySql/PHP) LNMP安装教程:Here
用户1203875
2018/07/20
2.3K0

相似问题

Makefile目录使用

12

遍历Makefile中的目录列表

20

如何使用GNU从目录中筛选出文件列表?

11

使用MakeFile创建目录

22

如何使用makefile压缩目录

120
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文