用bash脚本提取ldd --version

时间:2015-05-27 19:40:41

标签: linux bash glibc ldd

我试图通过提取ldd --version输出来验证glibc版本。以下是Ubuntu机器的一个示例:

ldd (Ubuntu GLIBC 2.21-0ubuntu4) 2.21

这是另一台来自CentOS 6.5的机器:

ldd (GNU libc) 2.17

谢谢,

克里斯

2 个答案:

答案 0 :(得分:4)

使用awk:

$ ldd --version | awk '/ldd/{print $NF}'
2.19

基本上,如果该行包含字符串ldd,则打印最后一个字段。

答案 1 :(得分:2)

发现您正在使用的libc版本的正确方法是执行libc.so文件。是的,这很奇怪,但这是你应该做的,ld --version因为ldconfig --version不是正确的方法。

$ /lib/powerpc64le-linux-gnu/libc.so.6
GNU C Library (Ubuntu GLIBC 2.21-0ubuntu4) stable release version 2.21, by Roland McGrath et al.
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 4.9.2.
Available extensions:
    crypt add-on version 2.1 by Michael Glad and others
    GNU Libidn by Simon Josefsson
    Native POSIX Threads Library by Ulrich Drepper et al
    BIND-8.2.3-T5B
libc ABIs: UNIQUE IFUNC
For bug reporting instructions, please see:
<https://bugs.launchpad.net/ubuntu/+source/glibc/+bugs>.