当前位置:  开发笔记 > 编程语言 > 正文

用于通配符安装的Linux"install"命令

如何解决《用于通配符安装的Linux"install"命令》经验,为你挑选了3个好方法。

有没有办法使用" 安装 "一次使用"通配符"模式安装多个文件(仍然有"安装"创建主要目录层次结构)?

我尝试了几种不同的方法:

install -D -t /dest/path /source/path/*.py

install -D -t /dest/path/ /source/path/*.py

install -D /source/path/*.py /dest/path

install -D /source/path/*.py /dest/path/

请帮助...每次试用都需要花费很多时间(我pbuilder每次都要用来测试我的包装).



1> jldupont..:

在安装之前,使用以下命令创建目录层次结构:

install -d /dest/path

然后使用:

install -D /source/path/*.py /dest/path

"安装"所有文件.


是不是-D标志的全部内容来创建目标路径的前导父目录?如果已经使用先前的“ install”调用创建了它们,则似乎没有必要在后面的命令中使用它。您能证明它的使用合理吗?还是可以安全地假定可以在这种情况下将其删除?

2> Dirk Eddelbu..:

也许在安装调用周围使用简单的外部for循环?那怎么样

for f in /source/path/*.py; do \
    install -D -t /dest/path $$f; \
done

也就是说,你总是可以从你的Makefile,debian/rules文件中取出逻辑,然后独立测试它而不必运行pbuilder.

否则当然道具pbuilder用于内部项目!



3> 小智..:

我对pbuilder一无所知,但对于我的情况(Arch Linux的PKGBUILD)我正在使用带有find的BASH for循环:

for file in $(find source -type f -name *.py); do
    install -m 644 -D ${file} dest/${file#source/}
done

find命令可以适合于尝试或多或少地特定于被复制的内容.在上面的示例中,将选择以源/下面的.py结尾的所有常规文件.

推荐阅读
落单鸟人
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有