我对bash脚本编程还是个新手。
我有一个bash脚本,必须离线运行(应该没有互联网工作)。该脚本解压一个xyz.tar.gz文件,并对一堆python包执行easy_install,这些包本身就是.tar.gz文件。我正在安装的4个包是:
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行代码来安装每个包。
发布于 2016-06-16 05:33:18
像这样的东西可能会起作用:
for package in m* pb* s* py*; do
easy_install "$package"
done上面假设您所在的目录包含这四个文件,并且easy_install需要一个文件名作为第一个也是唯一一个参数。
基本上,变量package将按以下顺序赋值:
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循环的要点。
https://stackoverflow.com/questions/37846093
复制相似问题