Skip to the content.

上一页      主目录      下一页

7. Shells


我们都熟悉Bourne Again SHell,但是还有另外两个用户界面被认为是有用的现代SHell——Berkeley Unix C SHell和Korn SHell。本章安装与这些附加shell类型兼容的包。

7.1 Dash-0.5.12


简介Dash

Dash是一个POSIX兼容的shell。它可以安装为/bin/sh,或者作为root或userid为0的第二个用户的默认shell。它比Bash shell依赖更少的库,因此不太可能受到升级问题或磁盘故障的影响。Dash对于检查脚本是否与POSIX语法完全兼容也很有用。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

Dash 依赖

可选

libedit (命令行编辑器库)

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/dash

安装Dash

运行以下命令安装Dash:

./configure --bindir=/bin --mandir=/usr/share/man &&
make

这个包没有附带测试套件。

现在,作为root用户:

make install

如果你想让dash作为默认的sh,以root用户重新创建/bin/sh符号链接:

注意

如果创建了从dashsh的符号链接,则需要将链接重置为bash以构建LFS。

ln -svf dash /bin/sh

命令解释

--bindir=/bin: 该参数将dash二进制文件放入根文件系统。

--with-libedit: 用libedit支持编译Dash。

配置 Dash

配置文件

Dash源 /etc/profile~/.profile

配置信息

root用户发出以下命令,更新/etc/shells以包含Dash shell:

cat >> /etc/shells << "EOF"
/bin/dash
EOF

内容

安装程序: dash

安装库: None

安装目录: None

简要描述

dash 是一个POSIX兼容的shell。

7.2 Tcsh-6.24.07


简介Tcsh

Tcsh包包含“Berkeley Unix C shell (csh)的增强但完全兼容的版本”。对于那些更喜欢C语法而不是bash shell的人来说,这是一个有用的替代shell,也因为有些程序需要C shell来执行安装任务。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/tcsh

安装Tcsh

运行以下命令安装Tcsh:

./configure --prefix=/usr &&
make

要测试结果,执行: make check.

现在,作为root用户:

make install install.man &&

ln -v -sf tcsh   /bin/csh &&
ln -v -sf tcsh.1 /usr/share/man/man1/csh.1

命令解释

ln -v -sf tcsh /bin/csh: FHS声明,如果安装了C shell,应该有一个从/bin/csh到它的符号链接。这就创建了符号链接。

配置 Tcsh

配置文件

C shell有许多配置文件。例如 /etc/csh.cshrc, /etc/csh.login, /etc/csh.logout, ~/.tcshrc, ~/.cshrc, ~/.history, ~/.cshdirs, ~/.login, 和 ~/.logout。关于这些文件的更多信息可以在tcsh(1)手册页中找到。

配置信息

更新/etc/shells以包含C shell程序名(作为root用户):

cat >> /etc/shells << "EOF"
/bin/tcsh
/bin/csh
EOF

下面的~/.cshrc提供了两种可选的颜色提示和彩色的ls输出。如果您希望全局修改,可以作为root用户发出命令,将~/.cshrc替换为/etc/csh.cshrc

cat > ~/.cshrc << "EOF"
# Original at:
# https://www.cs.umd.edu/~srhuang/teaching/code_snippets/prompt_color.tcsh.html

# Modified by the BLFS Development Team.

# Add these lines to your ~/.cshrc (or to /etc/csh.cshrc).

# Colors!
set     red="%{\033[1;31m%}"
set   green="%{\033[0;32m%}"
set  yellow="%{\033[1;33m%}"
set    blue="%{\033[1;34m%}"
set magenta="%{\033[1;35m%}"
set    cyan="%{\033[1;36m%}"
set   white="%{\033[0;37m%}"
set     end="%{\033[0m%}" # This is needed at the end...

# Setting the actual prompt.  Two separate versions for you to try, pick
# whichever one you like better, and change the colors as you want.
# Just don't mess with the ${end} guy in either line...  Comment out or
# delete the prompt you don't use.

set prompt="${green}%n${blue}@%m ${white}%~ ${green}%%${end} "
set prompt="[${green}%n${blue}@%m ${white}%~ ]${end} "

# This was not in the original URL above
# Provides coloured ls
alias ls ls --color=always

# Clean up after ourselves...
unset red green yellow blue magenta cyan yellow white end
EOF

内容

安装程序: tcsh

安装库: None

安装目录: None

简要描述

tcsh 是Berkeley Unix C shell的增强但完全兼容的版本,csh。它既可用作交互式shell,也可用作脚本处理器。

7.3 zsh-5.9


简介zsh

zsh包包含一个命令解释器(shell),可用作交互式登录shell和shell脚本命令处理器。在标准shell中,zsh与ksh最相似,但包括许多增强。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

额外下载

注意

当有一个新的zsh版本时,上面显示的旧文件被移动到一个新的服务器目录: https://www.zsh.org/pub/old/.

zsh 依赖

可选

PCRE-8.45Valgrind-3.20.0

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/zsh

安装zsh

如果你下载了可选的文档,用以下命令解压缩它:

tar --strip-components=1 -xvf ../zsh-5.9-doc.tar.xz

运行以下命令安装zsh:

./configure --prefix=/usr            \
            --sysconfdir=/etc/zsh    \
            --enable-etcdir=/etc/zsh \
            --enable-cap             \
            --enable-gdbm                             &&
make                                                  &&

makeinfo  Doc/zsh.texi --plaintext -o Doc/zsh.txt     &&
makeinfo  Doc/zsh.texi --html      -o Doc/html        &&
makeinfo  Doc/zsh.texi --html --no-split --no-headers -o Doc/zsh.html

如果你已经安装了texlive-20220321,你可以通过发出以下命令来构建PDF格式的文档:

texi2pdf  Doc/zsh.texi -o Doc/zsh.pdf

要测试结果,执行: make check.

现在,作为root用户:

make install                              &&
make infodir=/usr/share/info install.info &&

install -v -m755 -d                 /usr/share/doc/zsh-5.9/html &&
install -v -m644 Doc/html/*         /usr/share/doc/zsh-5.9/html &&
install -v -m644 Doc/zsh.{html,txt} /usr/share/doc/zsh-5.9

如果你下载了可选的文档,以root用户发出以下命令来安装它:

make htmldir=/usr/share/doc/zsh-5.9/html install.html &&
install -v -m644 Doc/zsh.dvi /usr/share/doc/zsh-5.9

如果你构建了PDF格式的文档,以root用户发出以下命令来安装它:

install -v -m644 Doc/zsh.pdf /usr/share/doc/zsh-5.9

命令解释

--sysconfdir=/etc/zsh--enable-etcdir=/etc/zsh: 使用这些参数是为了将所有zsh配置文件合并到/etc/zsh目录中。如果您希望通过将所有文件放在/etc目录中来保留历史兼容性,请忽略这些参数。

--enable-cap: 此选项启用POSIX功能。

--enable-gdbm: 该选项允许使用GDBM库。

--enable-pcre: 这个选项允许zsh在shell内置程序中使用PCRE正则表达式库。

配置 zsh

配置文件

zsh有一整套配置文件,包括/etc/zsh/zshenv, /etc/zsh/zprofile, /etc/zsh/zshrc, /etc/zsh/zlogin/etc/zsh/zlogout。您可以在zsh(1)和相关手册页中找到有关这些的更多信息。

第一次执行zsh时,会出现询问几个问题的消息。答案将用于创建一个~/.zshrc文件。如果您希望再次运行这些问题,请运行zsh /usr/share/zsh/5.9/functions/zsh-newuser-install -f

有几个内置的高级提示符。在zsh shell中,使用autoload -U promptinit启动高级提示支持,然后使用promptinit。可用的提示符名称用prompt -l列出。选择带有prompt <prompt-name>提示符的特定文件。使用prompt -p显示所有可用的提示符。除了上面的列表和显示命令外,您可以在~/.zshrc中插入其他命令,以便在shell启动时自动执行,并使用您选择的提示符。

配置信息

更新/etc/shells以包含zsh shell程序名(作为root用户):

cat >> /etc/shells << "EOF"
/bin/zsh
EOF

内容

安装程序: zsh 和 zsh-5.9 (彼此硬链接)

安装库: /usr/lib/zsh/5.9/ 下的众多插件辅助模块

安装目录: /usr/{lib,share}/zsh 和 /usr/share/doc/zsh-5.9

简要描述

zsh 是一个shell,它具有命令行编辑、内置拼写纠正、可编程命令完成、shell函数(带有自动加载)、历史机制和许多其他特性。

上一页      主目录      下一页