bash --version。存储此信息的位置?

时间:2018-04-22 13:55:58

标签: bash macos environment-variables

在哪个文件中存储有关命令的信息     bash --version ? 我曾尝试过/ bin或/ var,/ etc等目录,但没有结果......

我需要Linux和MAC OS x。谢谢!

2 个答案:

答案 0 :(得分:1)

strings $(which bash) | grep "Bash version"

输出(例如):

@(#)Bash version 4.3.48(1) release GNU

答案 1 :(得分:1)

您是否有理由相信bash - 可执行文件本身没有硬编码?

要找出使用了哪个bash,请运行

which bash

对我来说,它给出了/bin/bash。现在,要查看可执行文件中是否包含包含子串"version"的任何类似字符串的字节序列,请运行

strings /bin/bash | grep version

在这台机器上,它给出了:

shell_version_string
build_version
sccs_version
rl_library_version
rl_do_lowercase_version
show_shell_version
rl_readline_version
dist_version
GNU bash, version %s-(%s)
GNU bash, version %s (%s)
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
@(#)Bash version 4.3.48(1) release GNU
display-shell-version
      -l    do not print tilde-prefixed versions of directories relative
    HOSTTYPE    The type of CPU this version of Bash is running under.
    OSTYPE  The version of Unix this version of Bash is running on.
    version, type `enable -n test'.
do-lowercase-version
.gnu.version
.gnu.version_r

因此,"Bash version 4.3.48"在可执行文件中被硬编码为普通字符串。