CentOS EPEL安装,与位无关的命令

我正在编写一个小的“安装脚本”,它需要CentOS上的EPEL。 命令(repo url)根据操作系统的不同而不同,我怎么把它统一成一个命令呢?

参考文献: 如何安装EPEL

我记得用uname来做这个,但是不知道如何把它和现有的命令结合起来。

你可以用uname -icat /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 

(没有testing,你需要捕捉一些404s的exception)

uname -i应该在许多系统上输出这个架构(它在我的一些i386系统上有效,但对其他系统却是未知的)。 如果由于某种原因你需要获取机器types,uname -m将起作用。

您可能希望将其作为一个variables存储在脚本中,包括行arc=$(uname -i) ,并根据需要使用variables$ arc