AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 425259
Accepted
apaderno
apaderno
Asked: 2018-02-20 11:46:59 +0800 CST2018-02-20 11:46:59 +0800 CST 2018-02-20 11:46:59 +0800 CST

为什么不使用最新版本的 Bash?

  • 772

我在 WSL 上使用 openSUSE 42.3。在我完成的最后一次更新中(使用sudo zypper refresh && sudo zypper update),Bash 从版本 4.3.42(1) 更新到版本 4.3-83.3.1。

我关闭了 Bash 窗口(仅使用exit)并重新启动了 Windows。当 Windows 重新启动时,我重新打开 Bash 窗口,然后按Control++ 。什么 Bash 输出仍然是旧版本号。XV

GNU bash,版本 4.3.42(1)-release (x86_64-suse-linux-gnu)

我检查了 的输出zypper info bash,但它说安装了 4.3-83.3.1 版本。

Loading repository data...
Reading installed packages...


Information for package bash:
-----------------------------
Repository     : oss_update
Name           : bash
Version        : 4.3-83.3.1
Arch           : x86_64
Vendor         : openSUSE
Installed Size : 742.5 KiB
Installed      : Yes (automatically)
Status         : up-to-date
Source package : bash-4.3-83.3.1.src
Summary        : The GNU Bourne-Again Shell
Description    :
    Bash is an sh-compatible command interpreter that executes commands
    read from standard input or from a file.  Bash incorporates useful
    features from the Korn and C shells (ksh and csh).  Bash is intended to
    be a conformant implementation of the IEEE Posix Shell and Tools
    specification (IEEE Working Group 1003.2).

我还检查了 的输出zypper lr -d,但我没有看到任何可以解释正在发生的事情的东西。

# 别名 启用 类型
1 devel_languages_go 是的 rpm-md
2 devel_languages_php 是的 rpm-md
3 oss 是的 rpm-md
4 oss_update 是的 rpm-md
5 server_php_extensions_php7 是的 rpm-md

为什么不使用更新版本的 Bash?

我搜索了名称与bash匹配的任何文件(使用sudo find /[^m]* -name "bash" -type f, where/[^m]*用于避免 /mount 目录,这是唯一匹配该模式的目录)。它找到的唯一文件是 /bin/bash,其输出/bin/bash --version如下。

GNU bash,版本 4.3.42(1)-release (x86_64-suse-linux-gnu) 版权所有 (C) 2013 Free Software Foundation, Inc. 许可证 GPLv3+:GNU GPL 版本 3 或更高版本http://gnu.org/licenses /gpl.html

这是免费软件;您可以自由更改和重新分发它。在法律允许的范围内,不提供任何保证。

Zypper 怎么会认为它安装了我找不到已安装文件的更新?

作为旁注,我没有更改 Windows 用于启动 openSUSE 的符号链接,这意味着从 WSL 使用的 Bash 是用于 openSUSE 的 /bin/bash。

bash opensuse
  • 1 1 个回答
  • 761 Views

1 个回答

  • Voted
  1. Best Answer
    Stefan M
    2018-02-21T01:52:57+08:002018-02-21T01:52:57+08:00

    它正在使用正确和最新的版本。

    将原始 rpm 包下载到工作文件夹中:

    wget http://download.opensuse.org/update/leap/42.3/oss/x86_64/bash-4.3-83.3.1.x86_64.rpm
    

    打开包装:

    rpm2cpio bash-4.3-83.3.1.x86_64.rpm | cpio -idmv
    

    包含的 bash 是:

    ./bin/bash --version    # The leading . is important
    GNU bash, Version 4.3.42(1)-release (x86_64-suse-linux-gnu)
    

    软件包的版本号与安装软件的版本没有完全联系(这里只有 4.3-Part)。想象一下包维护者出错并想要发送更新的场景。打包的软件版本保持不变,但他必须更新包,因此增加了包版本。

    • 7

相关问题

  • 通过命令的标准输出以编程方式导出环境变量[重复]

  • 从文本文件传递变量的奇怪问题

  • 虽然行读取保持转义空间?

  • `tee` 和 `bash` 进程替换顺序

  • 运行一个非常慢的脚本直到它成功

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    ssh 无法协商:“找不到匹配的密码”,正在拒绝 cbc

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    如何卸载内核模块“nvidia-drm”?

    • 13 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add 返回:“连接代理时出错:没有这样的文件或目录” 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya 为什么 Linux 使用 LF 作为换行符? 2017-12-20 05:48:21 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve