首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用mkdir时如何防止makefile中的"目录已存在错误"

mkdir命令会在指定路径下创建新的目录,但是如果目录已经存在,mkdir命令会返回一个错误。为了避免在makefile中出现"目录已存在错误"的问题,我们可以使用-p选项来创建子目录,同时会跳过已存在的目录。这个选项可以在大多数操作系统中使用,包括Linux和MacOS。我们可以在命令行中输入以下命令来创建一个新目录:

代码语言:txt
复制
mkdir -p /path/to/new/directory

下面是一个更具体的例子,假设我们要在/home/user/project目录下创建一个新的子目录data

代码语言:txt
复制
mkdir -p /home/user/project/data

这个命令将创建data目录,如果/home/user/project/data已经存在,则会跳过该目录。如果你希望在其他目录下新建一个目录,例如/home/user/project/scripts,可以使用以下命令:

代码语言:txt
复制
mkdir /home/user/project/scripts

如果目录已存在,这个命令仍然会创建新目录。

总的来说,使用mkdir时需要注意命令的用法和选项,避免在创建目录时出现目录已存在的错误。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

实战Makefile前,该知道那些知识?

也许在写Makefile时候,都要养成这样一个习惯,一般风格都是: clean: rm $(obj) *.o 更为稳健做法是(原因:如果当前目录存在clean文件,该命令会执行失败),解决办法...如果一个规则某个命令出错了(命令退出码 非零),那么make就会终止执行当前规则,这将有可能终止所有规则执行。 有时命令出错并不表示错误。...例如mkdir命令,建立一个目录,如果目录不存 在,则mkdir不会出现错误。如果目录存在,那么将产生错误。...从例子说明,mkdir出错并没有对其他命令产生影响,因为我只要目录存,所以mkdir出错不应该终止命令规则运行。...这些变量可以让我们更加快速完成Makefile编写,其中自动变量只能在规则命令使用,常用自动变量如下: $@:规则目标 $<:规则第一个依赖文件 $^:规则所有依赖文件 CC

48520

深度刨析makefile

那么这就是使用 makefile 第一个原因,通过 makefile 可以制定好相应编译与连接规则,先编译哪个文件后编译哪个文件、哪个需要编译哪个不需要编译、如何链接、如何生成、要生成什么文件等等全部都在...① VPATH 环境变量 环境变量用法如下 VPATH:=/mkdir1/:/mkdir2/ 当使用环境变量指定上面的路径后,make 会现在当前目录搜索,然后去目录 /mkdir1/ 搜索,然后再去.../mkdir2/ 搜索,搜索顺序是先当前目录,然后按照变量赋值顺序去搜索。...比如我们执行 mkdir 建立一个目录,如果目录存在,那么执行成功返回0,如果目录存在,那么就出错并停止执行。...如果函数出现在命令或者一个递归变量定义,读取 makefile 不会出现错误,只有包含 error 函数引用命令被执行,或者定义引用此函数递归变量被展开,才会提示致命错误信息 TEXT…

11310
  • Linux — Makefile学习笔记以及多级目录Makefile编写

    如果未使用这个选项,标准版make命令将优先在当前命令下查找名称为makefile文件,如果不存在名称makefile文件,则开始查找名为Makefile文件。...,给次级目录makefile只用 all:CHECKDIR $(SUBDIR) #强大all mkdir -p (SUBDIR) (BINDIR) 对于makedir选项:...此时若路径某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在目录, 即一次可以建立多个目录。...make -C $@ 当make目标为all, -C $@ 指明跳转到次级目录下读取那里Makefile; M=$(PWD) 表明读取完Makefile(次级目录Makefile...)/*.o $(BINDIR) 这样在执行”make clean“时候就不管”clean”文件或者目录是否存在,正常执行makefileclean命令。

    5.5K10

    使用 Make 构建网站

    本文介绍如何使用make命令,作为网站构建工具。以下内容既是make语法实例,也是网站构建实战教程。你完全可以将代码略作修改,拷贝到自己项目。 ?...SHELL变量指定构建环境使用BASH。 四、检查语法错误 第一个任务是,检查源码有没有语法错误。 js_files = $(shell find ....上面代码,shell函数调用find命令,找出lib目录下所有js文件,保存在变量js_files。然后,就可以用jshint检查这些文件。 使用时调用下面的命令。...> $@ template: build/templates.js 上面代码查看build目录是否存在,如果不存在就新建一个。...然后,将变量sourcefilescoffee文件名,替换成js文件名,即 lib/x.coffee 替换成 build/x.js 。 使用时调用下面的命令。

    3.2K40

    安装pythonvisual模块时报错

    今天在虚拟机下在学习scapy东西,其中一个例子需要安装一个pythonvisual模块,期间报了N多错误,一个个解决其中依赖问题,到后面被卡住了 [root @ localhost...6 /站点包 检查 数组 Python模块数字......是#我是从这里开始报错 检查 数组 Python模块numarray ...是#一步步安装依赖包吧 正在检查.../configure检查与BSD兼容安装... / usr / bin / install -c检查构建环境是否正常...是,检查线程安全mkdir -p ... / bin / mkdir -p检查......检查对象文件后缀... o检查我们是否正在使用GNU C编译器...是检查gcc是否接受-g ...是检查gcc选项是否接受ISO C89 ...不需要检查make使用include样式......GNU / Linux ld.so检查如何将库路径硬编码到程序...立即检查是否可以剥离库...是的,请检查libtool是否支持共享库。

    2.3K10

    可移植 Makefile 教程

    本指南将会详细讨论一些重要特性和约定俗成规定。遵守已有的约定是非常重要,这样使用 Makefile 其他人,才能知道它能够完成和如何完成一些基本任务。...在一个推断规则,目标隐式表明了扩展名是什么。$< 宏展开为先决条件,这对使得推断规则变得更加通用十分重要。不幸是,这个宏在目标规则并不存在,这些都是有用。...Recursive Makefiles 当你项目被分为几个子目录,你可能会试图在每个子目录下放一个 Makefile ,然后递归调用。 不要使用递归 Makefile。...你可能需要告诉你编辑器如何做到这一点。 当涉及子目录文件,在名字包含子目录即可。所有 make 关心内容都会跟之前一样正常工作,包括推断规则。...有很多教程讲述了如何在构建同时生成依赖,但是它很脆弱和缓慢。最好是在一次性完成,在 Makefile 写好依赖,以便于 make 能够如期工作。

    1.3K10

    Nginx编译配置脚本篇(10)- Makefile相关脚本

    >> $NGX_MAKEFILE fi 3.6、输出ALL_INCS变量到objs/Makefile文件 ALL_INCS作用是指定Nginx通用头文件所在目录,代码里面使用到了CORE_INCS、...,用#来做字符串分隔符,也是可以,/、@、#三个都可以,这里使用#是为了防止目录分隔符产生冲突。...内容比较简单,就是判断各个目录是否已经存在,不存在就生成对应目录,然后将Nginx可执行文件、配置文件等等复制到指定安装目录。...文件 从之前内容我们可以知道,我们一直操作是objs/Makefile文件,但是我们最终编译,是在源代码目录下进行编译,所以肯定存在一个主Makefile来调用子目录Makefile文件...文件,看看里面是如何使用这些脚本来完成一个完整、可跨平台配置Nginx编译信息过程。

    2.3K40

    Makefile基本用法

    其中.PHONY用于防止make被一个名为clean实际文件所迷惑,并使它在rm出现错误情况下继续运行。 参考:https://www.techbulo.com/1576.html ?...名为GUNmakefile和Makefile文件同时存在,则使用前者。 调用方法过程,若前者不存在,则如下脚本给出了如何寻找后者是否存在所需要调用方法,然后执行。...前两行等价,第三行-include使make忽略不存在或无法重新生成且没有错误消息makefile ? ? ?...当一个先决条件名称格式为'-lname',make通过搜索文件来专门处理它libname.so文件 如果找不到,则在当前目录libname.a文件 在通过匹配vpath搜索路径和vpath搜索路径指定目录...然后在/lib目录,/usr/lib,和prefix/lib查找(如/usr/local/lib)。

    2.5K40

    分分钟搞定Redis编译安装

    Redis是当前比较热门NOSQL系统之一,使用相当高。如何进行安装是使用前提。...且之前文章中有提到MySQL XA事务问题导致锁等待超时而影响应用正常使用情况,因此,我们先来了解一下如何编译安装redis 1....创建目录、修改配置文件、启动redis 建议创建单独redis目录 # 创建目录 mkdir -p /data/redis/redis6379# 拷贝配置文件 cp redis.conf /data...logfile "/data/redis/redis6379/redis6379.log" 指定log文件目录及文件名 # 其他参数在生产环境可适当调整 # 启动redis redis-server...2) 建议设置redis数据库用户密码 默认情况下只要网络及对应端口可以访问,redis无需密码即可连接,此情况数据安全性存在风险,因此,建议设置redis用户密码

    1K30

    全网最牛Linux内核Makefile系统文件详解(纯文字代码)

    这个示例来源于GNUmake使用手册,在这个示例,我们工程有8个C文件,和3个头文件,我们要写一个Makefile来告诉make命令如何编译和链接这几个文件。...这样比较便于Makefile易读。我们可以把这个内容保存在文件为“Makefile”或“makefile文件,然后在该目录下直接输入命令“make”就可以生成执行文件edit。...例如mkdir命令,我们一定需要建立一个目录,如果目录存在,那么mkdir就成功执行,万事大吉,如果目录存在,那么就出错了。...我们之所以使用mkdir意思就是一定要有这样一个目录,于是我们就不希望mkdir出错而终止规则运行。...而如果一个规则是以“.IGNORE”作为目标的,那么这个规则所有命令将会忽略错误。这些是不同级别的防止命令出错方法,你可以根据你不同喜欢设置。

    3.2K20

    opencv recipe for target all failed解决

    检查CMake配置当你使用CMake生成编译文件,一个常见错误是由于配置文件错误引起。确保你使用CMake配置文件正确地指定了OpenCV安装路径和必要依赖项。...在你项目目录执行以下命令:bashCopy code$ rm -rf build/$ mkdir build && cd build$ cmake ..$ make这将清除之前生成编译文件,重新生成新编译文件...这有助于解决一些由于编译文件损坏或不完整引起错误。4. 更新OpenCV版本如果你使用是较旧OpenCV版本,可能已知问题已经在后续版本得到修复。...如果在编译出现"recipe for target 'all' failed"错误,可以尝试以下步骤解决:确保正确安装OpenCV,并设置了正确包含路径和库路径。...检查CMake配置文件OpenCV路径和配置项是否正确,包括设置了正确OpenCV安装路径、包含路径和库路径。确保图片文件存在并且路径正确。

    78720

    命令行上数据科学第二版:六、项目管理与`make`

    当您继续以前项目,您可能已经忘记了运行了哪些命令、从哪个目录运行了哪些文件、使用了哪些参数以及运行顺序。想象一下与合作者分享项目的挑战。...6.3 运行任务 默认情况下,make在当前目录搜索名为Makefile配置文件。...当心一些编辑在你按下TAB键插入空格,称为软标签,这将导致make产生错误。...➋ 你可以在命令行找到更有用错误信息之一! 从现在开始,我将把适当文件重命名为Makefile,因为这样更符合现实世界使用。...只有当目录data尚不存在,才会执行该目标。 目标data/starwars.csv取决于目标data。如果没有data目录,它将首先被创建。

    68910

    linux 文件系统那些事儿

    文件链接到不同目录使用文件名也可以不同,这也是第二个不将文件名放在 inode 原因。...:x 直属目录:w 只创建 pathname 最后一个分量,路径其它部分应当已经存在,否则出错返回 ENOENT pathname 存在,且 oflag 同时指定 O_EXCL,出错返回 EEXIST...路径上每个节点:x 直属目录:w 只创建 pathname 最后一个分量,路径其它部分应当已经存在,否则出错返回 ENOENT pathname 存在,且 oflag 同时指定 O_EXCL,出错返回...直属目录:w 只创建 newpath 最后一个分量,路径其它部分应当已经存在,否则出错返回 ENOENT newpath 存在,出错返回 EEXIST existingpath 不存在,出错返回...直属目录:w 路径名存在,出错返回 EEXIST [注3] 自动创建新目录 .

    1.5K10

    6_Makefile与GCC

    (Archive file) ​ 在编译过程,除非使用了“-c”,“-S”或“-E”选项(或者编译错误阻止了完整过程),否则最后步骤总是连接。...当gcc在默认路径没有找到头文件,就到本选项指定目录中去找。在上面的例子创建一个目录,然后创建一个头文件test.h。...不过上面的Makefile仍然有问题,就是工程源文件不断增加,如果按照上面的写法,你会发现,Makefile会越来越臃肿。下面我们讲解如何解决这个臃肿问题。...**不能使用空格。 6.4.3.3 目标生成规则: ​ 目标生成: ​ 1)检查规则依赖文件是否存在。 ​ 2)若依赖文件不存在,则寻找是否有规则用来生成该依赖文件。...2.提高执行Makefile效率 6.5.6 Makefile函数 ​ Makefile提供了大量函数,其中我们经常使用函数主要有两个(wildcard,patsubst)。

    3.6K10
    领券