我正在编写一个小型“安装脚本”,它需要 CentOS 上的 EPEL。命令(repo url)根据操作系统位数而不同,我如何将其统一为一个命令?
参考:如何安装 EPEL
我记得用 做过这个uname
,但不确定如何将其合并到现有命令中。
答案1
您可以使用uname -i
和来执行此操作cat /etc/redhat-release
。结果如下:
[bart@dev ~]$ cat /etc/redhat-release
CentOS release 6.2 (Final)
[bart@dev ~]$ uname -i
x86_64
我会像这样编写脚本:
rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/`uname -i`/epel-release-5-4.noarch.rpm
(没有测试,你需要捕获一些异常,如 404)
答案2
uname -i 应该会输出许多系统上的体系结构(在我的一些 i386 系统上可以输出,但其他系统上则未知)。如果出于某种原因您需要获取机器类型,那么 uname -m 就可以了。
您可能希望将其存储为脚本中的变量
arc=$(uname -i)
,并根据需要使用变量 $arc