#### Beyond Linux® From Scratch (systemd Edition) - Version 11.1

### Chapter 7. Shells

- Prev

  Tcsh-6.24.00

- Next

  Virtualization

- Up
- Home

# zsh-5.8.1

## Introduction to zsh

The zsh package contains a command interpreter (shell) usable as an interactive login shell and as a shell script command processor. Of the standard shells, zsh most closely resembles ksh but includes many enhancements.

This package is known to build and work properly using an LFS-11.1 platform.

### Package Information

- Download (HTTP): https://www.zsh.org/pub/zsh-5.8.1.tar.xz

- Download MD5 sum: 063a98c256ee0584b3c115924e41a332

- Download size: 3.1 MB

- Estimated disk space required: 47 MB (includes documentation and tests)

- Estimated build time: 1.4 SBU (Using parallelism=4; includes documentation and tests)

### Additional Downloads

- Optional Documentation: https://www.zsh.org/pub/zsh-5.8.1-doc.tar.xz

- Documentation MD5 sum: c7d5e068d5feef87b1b882ee12d0d09b

- Documentation download size: 3.0 MB

### Note

When there is a new zsh release, the old files shown above are moved to a new server directory: https://www.zsh.org/pub/old/.

### zsh Dependencies

#### Optional

libcap-2.63 with PAM, PCRE-8.45, and Valgrind-3.18.1,

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/zsh

## Installation of zsh

If you downloaded the optional documentation, unpack it with the following command:

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

Install zsh by running the following commands:

    ./configure --prefix=/usr         \
                --sysconfdir=/etc/zsh \
                --enable-etcdir=/etc/zsh                  &&
    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

If you have texlive-20210325 installed, you can build PDF format of the documentation by issuing the following command:

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

To test the results, issue: make check.

Now, as the `root` user:

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

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

If you downloaded the optional documentation, install it by issuing the following commands as the `root` user:

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

If you built the PDF format of the documentation, install it by issuing the following command as the `root` user:

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

## Command Explanations

`--sysconfdir=/etc/zsh` and `--enable-etcdir=/etc/zsh`: These parameters are used so that all the zsh configuration files are consolidated into the `/etc/zsh` directory. Omit these parameters if you wish to retain historical compatibility by having all the files located in the `/etc` directory.

`--enable-cap`: This option enables POSIX capabilities.

`--disable-gdbm`: This option disables the use of the GDBM library.

`--enable-pcre`: This option allows zsh to use the PCRE regular expression library in shell builtins.

## Configuring zsh

###

#### Config Files

There are a whole host of configuration files for zsh including `/etc/zsh/zshenv`, `/etc/zsh/zprofile`, `/etc/zsh/zshrc`, `/etc/zsh/zlogin` and `/etc/zsh/zlogout`. You can find more information on these in the `zsh(1)` and related manual pages.

The first time zsh is executed, you will be prompted by messages asking several questions. The answers will be used to create a `~/.zshrc` file. If you wish to run these questions again, run zsh /usr/share/zsh/5.8.1/functions/zsh-newuser-install -f.

There are several built-in advanced prompts. In the zsh shell, start advanced prompt support with autoload -U promptinit, then promptinit. Available prompt names are listed with prompt -l. Select a particular one with prompt `<prompt-name>`. Display all available prompts with prompt -p. Except for the list and display commands above, you can insert the other ones in `~/.zshrc` to be automatically executed at shell start, with the prompt you chose.

###

#### Configuration Information

Update `/etc/shells` to include the zsh shell program names (as the `root` user):

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

## Contents

Installed Programs: zsh and zsh-5.8.1 (hardlinked to each other)
Installed Libraries: Numerous plugin helper modules under /usr/lib/zsh/5.8.1/
Installed Directories: /usr/{lib,share}/zsh and /usr/share/doc/zsh-5.8.1

### Short Description

zsh | is a shell which has command-line editing, built-in spelling correction, programmable command completion, shell functions (with autoloading), a history mechanism, and a host of other features

Last updated on

- Prev

  Tcsh-6.24.00

- Next

  Virtualization

- Up
- Home