source: postlfs/shells/zsh.xml@ 4671375

12.1 ken/TL2024 lazarus rahul/power-profiles-daemon trunk xry111/llvm18
Last change on this file since 4671375 was fedbe2f, checked in by Xi Ruoyao <xry111@…>, 4 months ago

treewide: Use <ulink> instead of <filename> for referring man pages

Sync with LFS.

Note that in BLFS many man pages are even not referred via <filename>
and these references need to be found and fixed manually.

  • Property mode set to 100644
File size: 9.7 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY zsh-download-http "https://www.zsh.org/pub/zsh-&zsh-version;.tar.xz">
8 <!ENTITY zsh-download-ftp " ">
9 <!ENTITY zsh-md5sum "182e37ca3fe3fa6a44f69ad462c5c30e">
10 <!ENTITY zsh-size "3.2 MB">
11 <!ENTITY zsh-buildsize "48 MB (includes documentation and tests)">
12 <!ENTITY zsh-time "1.6 SBU (Using parallelism=4; includes documentation and tests)">
13]>
14
15<sect1 id="zsh" xreflabel="zsh-&zsh-version;">
16 <?dbhtml filename="zsh.html"?>
17
18
19 <title>zsh-&zsh-version;</title>
20
21 <indexterm zone="zsh">
22 <primary sortas="a-zsh">zsh</primary>
23 </indexterm>
24
25 <sect2 role="package">
26 <title>Introduction to zsh</title>
27
28 <para>
29 The <application>zsh</application> package contains a command
30 interpreter (shell) usable as an interactive login shell and as
31 a shell script command processor. Of the standard shells,
32 <application>zsh</application> most closely resembles
33 <application>ksh</application> but includes many enhancements.
34 </para>
35
36 &lfs120_checked;
37
38 <bridgehead renderas="sect3">Package Information</bridgehead>
39 <itemizedlist spacing="compact">
40 <listitem>
41 <para>
42 Download (HTTP): <ulink url="&zsh-download-http;"/>
43 </para>
44 </listitem>
45 <listitem>
46 <para>
47 Download (FTP): <ulink url="&zsh-download-ftp;"/>
48 </para>
49 </listitem>
50 <listitem>
51 <para>
52 Download MD5 sum: &zsh-md5sum;
53 </para>
54 </listitem>
55 <listitem>
56 <para>
57 Download size: &zsh-size;
58 </para>
59 </listitem>
60 <listitem>
61 <para>
62 Estimated disk space required: &zsh-buildsize;
63 </para>
64 </listitem>
65 <listitem>
66 <para>
67 Estimated build time: &zsh-time;
68 </para>
69 </listitem>
70 </itemizedlist>
71
72 <note>
73 <para>
74 When there is a new <application>zsh</application> release, the old
75 files shown above are moved to a new server directory:
76 <ulink url="https://www.zsh.org/pub/old/"/>.
77 </para>
78 </note>
79
80 <bridgehead renderas="sect3">zsh Dependencies</bridgehead>
81
82 <bridgehead renderas="sect4">Optional</bridgehead>
83 <para role="optional">
84 <xref linkend="pcre"/> and
85 <xref linkend="valgrind"/>
86 </para>
87
88 </sect2>
89
90 <sect2 role="installation">
91 <title>Installation of zsh</title>
92
93 <para>
94 Adapt the documentation build system for texinfo-7.0 or later:
95 </para>
96
97<screen><userinput>sed -e 's/set_from_init_file/texinfo_&amp;/' \
98 -i Doc/Makefile.in</userinput></screen>
99
100<!-- <note>
101 <para>
102 Using a script to build with "su -c script" may produce a funny
103 configure error message: "no controlling tty". If this happens, add
104 the switch -\-with-tcsetpgrp to configure.
105 </para>
106 </note>
107-->
108 <para>
109 Install <application>zsh</application> by running the following
110 commands:
111 </para>
112
113<screen><userinput>./configure --prefix=/usr \
114 --sysconfdir=/etc/zsh \
115 --enable-etcdir=/etc/zsh \
116 --enable-cap \
117 --enable-gdbm &amp;&amp;
118make &amp;&amp;
119
120makeinfo Doc/zsh.texi --html -o Doc/html &amp;&amp;
121makeinfo Doc/zsh.texi --plaintext -o zsh.txt &amp;&amp;
122makeinfo Doc/zsh.texi --html --no-split --no-headers -o zsh.html</userinput></screen>
123
124 <para>
125 If you have <xref linkend="texlive"/>
126 installed, you can build PDF format of the documentation by issuing
127 the following command:
128 </para>
129
130<screen remap="doc"><userinput>texi2pdf Doc/zsh.texi -o Doc/zsh.pdf</userinput></screen>
131
132 <para>
133 To test the results, issue: <command>make check</command>.
134 </para>
135
136 <para>
137 Now, as the <systemitem class="username">root</systemitem> user:
138 </para>
139
140<screen role="root"><userinput>make install &amp;&amp;
141make infodir=/usr/share/info install.info &amp;&amp;
142make htmldir=/usr/share/doc/zsh-&zsh-version;/html install.html &amp;&amp;
143install -v -m644 zsh.{html,txt} Etc/FAQ /usr/share/doc/zsh-&zsh-version;</userinput></screen>
144
145 <para>
146 If you built the PDF format of the documentation, install
147 it by issuing the following command as the
148 <systemitem class="username">root</systemitem> user:
149 </para>
150
151<screen role="root"
152 remap="doc"><userinput>install -v -m644 Doc/zsh.pdf /usr/share/doc/zsh-&zsh-version;</userinput></screen>
153
154 </sect2>
155
156 <sect2 role="commands">
157 <title>Command Explanations</title>
158
159 <para>
160 <parameter>--sysconfdir=/etc/zsh</parameter> and
161 <parameter>--enable-etcdir=/etc/zsh</parameter>: These parameters are
162 used so that all the <application>zsh</application> configuration files
163 are consolidated into the <filename class='directory'>/etc/zsh</filename>
164 directory. Omit these parameters if you wish to retain historical
165 compatibility by having all the files located in the
166 <filename class='directory'>/etc</filename> directory.
167 </para>
168
169 <para>
170 <parameter>--enable-cap</parameter>: This option enables
171 POSIX capabilities.
172 </para>
173
174 <para>
175 <parameter>--enable-gdbm</parameter>: This option enables the
176 use of the <application>GDBM</application> library.
177 </para>
178
179 <para>
180 <option>--enable-pcre</option>: This option allows zsh to use
181 the <application>PCRE</application> regular expression library in shell
182 builtins.
183 </para>
184 </sect2>
185
186 <sect2 role="configuration">
187 <title>Configuring zsh</title>
188
189 <sect3 id="zsh-config">
190 <title>Config Files</title>
191
192 <para>
193 There are a whole host of configuration files for
194 <application>zsh</application> including
195 <filename>/etc/zsh/zshenv</filename>,
196 <filename>/etc/zsh/zprofile</filename>,
197 <filename>/etc/zsh/zshrc</filename>,
198 <filename>/etc/zsh/zlogin</filename> and
199 <filename>/etc/zsh/zlogout</filename>.
200 You can find more information on these in the
201 <ulink role='man' url='&man;zsh.1'>zsh(1)</ulink> and related
202 manual pages.
203 </para>
204
205 <para>
206 The first time zsh is executed, you will be prompted by messages asking
207 several questions. The answers will be used to create a
208 <filename>~/.zshrc</filename> file. If you wish to run these questions
209 again, run <command>zsh
210 /usr/share/zsh/&zsh-version;/functions/zsh-newuser-install -f</command>.
211 </para>
212
213 <para>
214 There are several built-in advanced prompts. In the
215 <command>zsh</command> shell, start advanced prompt support with
216 <command>autoload -U promptinit</command>, then
217 <command>promptinit</command>. Available prompt names are listed with
218 <command>prompt -l</command>. Select a particular one with
219 <command>prompt <literal>&lt;prompt-name&gt;</literal></command>.
220 Display all available
221 prompts with <command>prompt -p</command>. Except for the list and
222 display commands above, you can insert the other ones in
223 <filename>~/.zshrc</filename> to be automatically executed at
224 shell start, with the prompt you chose.
225 </para>
226
227 <indexterm zone="zsh zsh-config">
228 <primary sortas="e-etc-zsh-zshenv">/etc/zsh/zshenv</primary>
229 </indexterm>
230
231 <indexterm zone="zsh zsh-config">
232 <primary sortas="e-etc-zsh-zprofile">/etc/zsh/zprofile</primary>
233 </indexterm>
234
235 <indexterm zone="zsh zsh-config">
236 <primary sortas="e-etc-zsh-zshrc">/etc/zsh/zshrc</primary>
237 </indexterm>
238
239 <indexterm zone="zsh zsh-config">
240 <primary sortas="e-etc-zsh-zlogin">/etc/zsh/zlogin</primary>
241 </indexterm>
242
243 <indexterm zone="zsh zsh-config">
244 <primary sortas="e-etc-zsh-zlogout">/etc/zsh/zlogout</primary>
245 </indexterm>
246
247 </sect3>
248
249 <sect3>
250 <title>Configuration Information</title>
251
252 <para>
253 Update <filename>/etc/shells</filename> to include the
254 <application>zsh</application> shell program names (as the
255 <systemitem class="username">root</systemitem> user):
256 </para>
257
258<screen role="root"><userinput>cat &gt;&gt; /etc/shells &lt;&lt; "EOF"
259<literal>/bin/zsh</literal>
260EOF</userinput></screen>
261
262 </sect3>
263
264 </sect2>
265
266 <sect2 role="content">
267 <title>Contents</title>
268
269 <segmentedlist>
270 <segtitle>Installed Programs</segtitle>
271 <segtitle>Installed Libraries</segtitle>
272 <segtitle>Installed Directories</segtitle>
273
274 <seglistitem>
275 <seg>zsh and zsh-&zsh-version; (hardlinked to each other)</seg>
276 <seg>Numerous plugin helper modules under
277 /usr/lib/zsh/&zsh-version;/</seg>
278 <seg>/usr/{lib,share}/zsh and /usr/share/doc/zsh-&zsh-version;</seg>
279 </seglistitem>
280 </segmentedlist>
281
282 <variablelist>
283 <bridgehead renderas="sect3">Short Description</bridgehead>
284 <?dbfo list-presentation="list"?>
285 <?dbhtml list-presentation="table"?>
286
287 <varlistentry id="zsh-prog">
288 <term><command>zsh</command></term>
289 <listitem>
290 <para>
291 is a shell which has command-line editing, built-in spelling
292 correction, programmable command completion, shell functions (with
293 autoloading), a history mechanism, and a host of other features
294 </para>
295 <indexterm zone="zsh zsh-prog">
296 <primary sortas="b-zsh">zsh</primary>
297 </indexterm>
298 </listitem>
299 </varlistentry>
300
301 </variablelist>
302
303 </sect2>
304
305</sect1>
Note: See TracBrowser for help on using the repository browser.