shell脚本中怎么判断发行版?

shell脚本中如何判断是哪个发行版?

阅读 10k
5 个回答

uname -a 会给出 Linux/Unix, 32/64 位等信息. 在我的 mac 上显示是这样:

Darwin xlc-mbp 16.6.0 Darwin Kernel Version 16.6.0: Fri Apr 14 16:21:16 PDT 2017; root:xnu-3789.60.24~6/RELEASE_X86_64 x86_64 i386 MacBookPro11,1 Darwin

如果想要知道更确切的版本(比如, Centos 5.4, 5.5 还是 5.6), 可能需要进一步查看 /etc/issue. 对于 Debian/Ubuntu, 查看 /etc/lsb-release.

还有一种方式是使用 lsb_release:

lsb_release -a

或者 RHEL 系的话, 可以使用 rpm -qa | grep centos-release or redhat-release.

另外在原出处下面有评论说, 自 2016 开始, lsb_release 已经不再适用了, 最好的方式使用 cat /etc/os-release.

搬运自: How can I tell what version of Linux I'm using?

还有个似乎更细致的问答, 就不搬运了: How do I find out what version of Linux I'm running?

查看操作系统:

lsb_release -a 

查看shell版本,如果你用的是bash,其他类型的shell以此类推:

bash --version

cat /etc/issue

其实我觉得最通用的方式是这样:

cat /etc/*-release
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题