首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >循环遍历目录并按特定顺序对包运行easy_install

循环遍历目录并按特定顺序对包运行easy_install
EN

Stack Overflow用户
提问于 2016-06-16 05:28:53
回答 1查看 61关注 0票数 0

我对bash脚本编程还是个新手。

我有一个bash脚本,必须离线运行(应该没有互联网工作)。该脚本解压一个xyz.tar.gz文件,并对一堆python包执行easy_install,这些包本身就是.tar.gz文件。我正在安装的4个包是:

代码语言:javascript
复制
multi_key_dict-2.0.3.tar.gz
pbr-1.10.0.tar.gz
python-jenkins-0.4.12.tar.gz
six-1.10.0.tar.gz

问题是,six-1.10.0.tar.gz是python-jenkins包的依赖项。当我运行该脚本时,它会尝试按字母顺序安装这些包;因此会尝试在安装python-jenkins之前安装6个包。因为没有互联网来获取依赖包,所以它失败了。(请注意,我的要求是通过pip使用easy_install,并且主机应该脱机工作)

我如何编写脚本,使其在安装python-jenkins之前安装3个包的其余部分?我不想手动编写4行代码来安装每个包。

EN

回答 1

Stack Overflow用户

发布于 2016-06-16 05:33:18

像这样的东西可能会起作用:

代码语言:javascript
复制
for package in m* pb* s* py*; do
    easy_install "$package"
done

上面假设您所在的目录包含这四个文件,并且easy_install需要一个文件名作为第一个也是唯一一个参数。

基本上,变量package将按以下顺序赋值:

代码语言:javascript
复制
multy_key_dict-2.0.3.tar.gz
pbr-1.10.0.tar.gz
six-1.10.0.tar.gz
python-jenkins-0.4.12.tar.gz

我希望您能理解这个for循环的要点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37846093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档