我对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。由于没有互联网来获得依赖包,它失败了。 (请注意,我要求我使用easy_install over pip,主机应该脱机工作)
如何以安装python-jenkins之前安装其余3个软件包的方式编写脚本?我不想手动编写4行来安装每个包。
答案 0 :(得分:0)
这样的事可能有用:
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
循环。