在 Alpine Linux 中安装 bash shell

Posted 滴滴滴--你不是爱拖延,而是爱逃避

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在 Alpine Linux 中安装 bash shell相关的知识,希望对你有一定的参考价值。

如何在我的 Alpine Linux LXD(Linux容器)虚拟机(VM)中安装 bash shell?

Alpine Linux 自带 BusyBox 工具。它被评为“嵌入式 Linux 的瑞士军刀”。BusyBox 将许多通用 UNIX 实用程序的小版本合并到一个 /bin/sh 路径下的小型可执行文件中。默认情况下,BusyBox 和 Alpine Linux 不包含 bash。

如何在 Alpine Linux 中安装 bash?

安装 bash 很容易,但这并不意味着 busybox 的命令符不见了。语法如下:

# apk update
# apk upgrade
# apk add bash

示例输出如下:

(1/5) Installing ncurses-terminfo-base (6.0-r7)
(2/5) Installing ncurses-terminfo (6.0-r7)
(3/5) Installing ncurses-libs (6.0-r7)
(4/5) Installing readline (6.3.008-r5)
(5/5) Installing bash (4.3.48-r1)
Executing bash-4.3.48-r1.post-install
Executing busybox-1.26.2-r5.trigger
OK: 14 MiB in 21 packages

安装 bash 文档,请输入:

# apk add bash-doc

安装 bash 自动命令补全,请运行:

# apk add bash-completion

示例如下:

技术图片

图1:如何在 Alpine Linux 中成功运行 bash

使用 bash 作为 shell,需要输入 bash:

$ bash

需要从主机登录到 Alpine Linux LXD 虚拟机,请输入:

$ lxc exec alpine-lxd-vm-name-here bash

需要将 root shell 更改为 bash,请输入:

# vi /etc/passwd

查找用户名和默认 shell,比如 /bin/ash:

root:x:0:0:root:/root:/bin/ash

然后用 /bin/bash 替换:

root:x:0:0:root:/root:/bin/bash

自定义 bash shell

输出一个示例文件:

cat ~/.bashrc

示例输出:

alias update=‘apk update && apk upgrade‘
export HISTTIMEFORMAT="%d/%m/%y %T "
export PS1=‘u@h:W $ ‘
alias l=‘ls -CF‘
alias la=‘ls -A‘
alias ll=‘ls -alF‘
alias ls=‘ls --color=auto‘
source /etc/profile.d/bash_completion.sh

请参阅自定义 bash shell 环境的 wiki 页面以获取更多信息。

以上是关于在 Alpine Linux 中安装 bash shell的主要内容,如果未能解决你的问题,请参考以下文章

在 Alpine Linux Docker 容器中安装 ODBC 驱动程序

如何在 Alpine linux docker 镜像中安装 oracle jdk11?

如何在 Alpine Linux Docker Container 中安装“Microsoft Access Driver (*.mdb, *.accdb)”驱动程序

如何在alpine 3.12中安装qt4

在 docker Alpine 中安装 pandas

如何在 alpine:3.8 中安装 Nodejs 8.12?