2021-05-11 02:29:21 +02:00
<!DOCTYPE HTML>
< html lang = "en" class = "sidebar-visible no-js light" >
< head >
<!-- Book generated using mdBook -->
< meta charset = "UTF-8" >
< title > Introduction - Zsh Manual< / title >
<!-- Custom HTML head -->
< meta content = "text/html; charset=utf-8" http-equiv = "Content-Type" >
< meta name = "description" content = "" >
< meta name = "viewport" content = "width=device-width, initial-scale=1" >
< meta name = "theme-color" content = "#ffffff" / >
< link rel = "icon" href = "favicon.svg" >
< link rel = "shortcut icon" href = "favicon.png" >
< link rel = "stylesheet" href = "css/variables.css" >
< link rel = "stylesheet" href = "css/general.css" >
< link rel = "stylesheet" href = "css/chrome.css" >
< link rel = "stylesheet" href = "css/print.css" media = "print" >
<!-- Fonts -->
< link rel = "stylesheet" href = "FontAwesome/css/font-awesome.css" >
< link rel = "stylesheet" href = "fonts/fonts.css" >
<!-- Highlight.js Stylesheets -->
< link rel = "stylesheet" href = "highlight.css" >
< link rel = "stylesheet" href = "tomorrow-night.css" >
< link rel = "stylesheet" href = "ayu-highlight.css" >
<!-- Custom theme stylesheets -->
< / head >
< body >
<!-- Provide site root to javascript -->
< script type = "text/javascript" >
var path_to_root = "";
var default_theme = window.matchMedia("(prefers-color-scheme: dark)").matches ? "navy" : "light";
< / script >
<!-- Work around some values being stored in localStorage wrapped in quotes -->
< script type = "text/javascript" >
try {
var theme = localStorage.getItem('mdbook-theme');
var sidebar = localStorage.getItem('mdbook-sidebar');
if (theme.startsWith('"') & & theme.endsWith('"')) {
localStorage.setItem('mdbook-theme', theme.slice(1, theme.length - 1));
}
if (sidebar.startsWith('"') & & sidebar.endsWith('"')) {
localStorage.setItem('mdbook-sidebar', sidebar.slice(1, sidebar.length - 1));
}
} catch (e) { }
< / script >
<!-- Set the theme before any content is loaded, prevents flash -->
< script type = "text/javascript" >
var theme;
try { theme = localStorage.getItem('mdbook-theme'); } catch(e) { }
if (theme === null || theme === undefined) { theme = default_theme; }
var html = document.querySelector('html');
html.classList.remove('no-js')
html.classList.remove('light')
html.classList.add(theme);
html.classList.add('js');
< / script >
<!-- Hide / unhide sidebar before it is displayed -->
< script type = "text/javascript" >
var html = document.querySelector('html');
var sidebar = 'hidden';
if (document.body.clientWidth >= 1080) {
try { sidebar = localStorage.getItem('mdbook-sidebar'); } catch(e) { }
sidebar = sidebar || 'visible';
}
html.classList.remove('sidebar-visible');
html.classList.add("sidebar-" + sidebar);
< / script >
< nav id = "sidebar" class = "sidebar" aria-label = "Table of contents" >
< div class = "sidebar-scrollbox" >
< ol class = "chapter" > < li class = "chapter-item expanded " > < a href = "The-Z-Shell-Manual.html" > < strong aria-hidden = "true" > 1.< / strong > The Z Shell Manual< / a > < / li > < li class = "chapter-item expanded " > < a href = "Introduction.html" class = "active" > < strong aria-hidden = "true" > 2.< / strong > Introduction< / a > < / li > < li class = "chapter-item expanded " > < a href = "Roadmap.html" > < strong aria-hidden = "true" > 3.< / strong > Roadmap< / a > < / li > < li class = "chapter-item expanded " > < a href = "Invocation.html" > < strong aria-hidden = "true" > 4.< / strong > Invocation< / a > < / li > < li class = "chapter-item expanded " > < a href = "Files.html" > < strong aria-hidden = "true" > 5.< / strong > Files< / a > < / li > < li class = "chapter-item expanded " > < a href = "Shell-Grammar.html" > < strong aria-hidden = "true" > 6.< / strong > Shell Grammar< / a > < / li > < li class = "chapter-item expanded " > < a href = "Redirection.html" > < strong aria-hidden = "true" > 7.< / strong > Redirection< / a > < / li > < li class = "chapter-item expanded " > < a href = "Command-Execution.html" > < strong aria-hidden = "true" > 8.< / strong > Command Execution< / a > < / li > < li class = "chapter-item expanded " > < a href = "Functions.html" > < strong aria-hidden = "true" > 9.< / strong > Functions< / a > < / li > < li class = "chapter-item expanded " > < a href = "Jobs-_0026-Signals.html" > < strong aria-hidden = "true" > 10.< / strong > Jobs & Signals< / a > < / li > < li class = "chapter-item expanded " > < a href = "Arithmetic-Evaluation.html" > < strong aria-hidden = "true" > 11.< / strong > Arithmetic Evaluation< / a > < / li > < li class = "chapter-item expanded " > < a href = "Conditional-Expressions.html" > < strong aria-hidden = "true" > 12.< / strong > Conditional Expressions< / a > < / li > < li class = "chapter-item expanded " > < a href = "Prompt-Expansion.html" > < strong aria-hidden = "true" > 13.< / strong > Prompt Expansion< / a > < / li > < li class = "chapter-item expanded " > < a href = "Expansion.html" > < strong aria-hidden = "true" > 14.< / strong > Expansion< / a > < / li > < li class = "chapter-item expanded " > < a href = "Parameters.html" > < strong aria-hidden = "true" > 15.< / strong > Parameters< / a > < / li > < li class = "chapter-item expanded " > < a href = "Options.html" > < strong aria-hidden = "true" > 16.< / strong > Options< / a > < / li > < li class = "chapter-item expanded " > < a href = "Shell-Builtin-Commands.html" > < strong aria-hidden = "true" > 17.< / strong > Shell Builtin Commands< / a > < / li > < li class = "chapter-item expanded " > < a href = "Zsh-Line-Editor.html" > < strong aria-hidden = "true" > 18.< / strong > Zsh Line Editor< / a > < / li > < li class = "chapter-item expanded " > < a href = "Completion-Widgets.html" > < strong aria-hidden = "true" > 19.< / strong > Completion Widgets< / a > < / li > < li class = "chapter-item expanded " > < a href = "Completion-System.html" > < strong aria-hidden = "true" > 20.< / strong > Completion System< / a > < / li > < li class = "chapter-item expanded " > < a href = "Completion-Using-compctl.html" > < strong aria-hidden = "true" > 21.< / strong > Completion Using compctl< / a > < / li > < li class = "chapter-item expanded " > < a href = "Zsh-Modules.html" > < strong aria-hidden = "true" > 22.< / strong > Zsh Modules< / a > < / li > < li class = "chapter-item expanded " > < a href = "Calendar-Function-System.html" > < strong aria-hidden = "true" > 23.< / strong > Calendar Function System< / a > < / li > < li class = "chapter-item expanded " > < a href = "TCP-Function-System.html" > < strong aria-hidden = "true" > 24.< / strong > TCP Function System< / a > < / li > < li class = "chapter-item expanded " > < a href = "Zftp-Function-System.html" > < strong aria-hidden = "true" > 25.< / strong > Zftp Function System< / a > < / li > < li class = "chapter-item expanded " > < a href = "User-Contributions.html" > < strong aria-hidden = "true" > 26.< / strong > User Contributions< / a > < / li > < / ol >
< / div >
< div id = "sidebar-resize-handle" class = "sidebar-resize-handle" > < / div >
< / nav >
< div id = "page-wrapper" class = "page-wrapper" >
< div class = "page" >
< div id = "menu-bar-hover-placeholder" > < / div >
< div id = "menu-bar" class = "menu-bar sticky bordered" >
< div class = "left-buttons" >
< button id = "sidebar-toggle" class = "icon-button" type = "button" title = "Toggle Table of Contents" aria-label = "Toggle Table of Contents" aria-controls = "sidebar" >
< i class = "fa fa-bars" > < / i >
< / button >
< button id = "theme-toggle" class = "icon-button" type = "button" title = "Change theme" aria-label = "Change theme" aria-haspopup = "true" aria-expanded = "false" aria-controls = "theme-list" >
< i class = "fa fa-paint-brush" > < / i >
< / button >
< ul id = "theme-list" class = "theme-popup" aria-label = "Themes" role = "menu" >
< li role = "none" > < button role = "menuitem" class = "theme" id = "light" > Light (default)< / button > < / li >
< li role = "none" > < button role = "menuitem" class = "theme" id = "rust" > Rust< / button > < / li >
< li role = "none" > < button role = "menuitem" class = "theme" id = "coal" > Coal< / button > < / li >
< li role = "none" > < button role = "menuitem" class = "theme" id = "navy" > Navy< / button > < / li >
< li role = "none" > < button role = "menuitem" class = "theme" id = "ayu" > Ayu< / button > < / li >
< / ul >
< button id = "search-toggle" class = "icon-button" type = "button" title = "Search. (Shortkey: s)" aria-label = "Toggle Searchbar" aria-expanded = "false" aria-keyshortcuts = "S" aria-controls = "searchbar" >
< i class = "fa fa-search" > < / i >
< / button >
< / div >
< h1 class = "menu-title" > Zsh Manual< / h1 >
< div class = "right-buttons" >
< a href = "print.html" title = "Print this book" aria-label = "Print this book" >
< i id = "print-button" class = "fa fa-print" > < / i >
< / a >
2021-05-17 17:00:52 +02:00
2021-05-11 02:29:21 +02:00
< / div >
< / div >
< div id = "search-wrapper" class = "hidden" >
< form id = "searchbar-outer" class = "searchbar-outer" >
2021-05-17 17:00:52 +02:00
< input type = "search" id = "searchbar" name = "searchbar" placeholder = "Search this book ..." aria-controls = "searchresults-outer" aria-describedby = "searchresults-header" >
2021-05-11 02:29:21 +02:00
< / form >
< div id = "searchresults-outer" class = "searchresults-outer hidden" >
< div id = "searchresults-header" class = "searchresults-header" > < / div >
< ul id = "searchresults" >
< / ul >
< / div >
< / div >
<!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
< script type = "text/javascript" >
document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
document.getElementById('sidebar').setAttribute('aria-hidden', sidebar !== 'visible');
Array.from(document.querySelectorAll('#sidebar a')).forEach(function(link) {
link.setAttribute('tabIndex', sidebar === 'visible' ? 0 : -1);
});
< / script >
< div id = "content" class = "content" >
< main >
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE - RUN doctoc TO UPDATE -->
< p > < strong > Table of Contents< / strong > < em > generated with < a href = "https://github.com/thlorenz/doctoc" > DocToc< / a > < / em > < / p >
< ul >
< li > < a href = "#2-introduction" > 2 Introduction< / a >
< ul >
< li > < a href = "#21-author" > 2.1 Author< / a > < / li >
< li > < a href = "#22-availability" > 2.2 Availability< / a > < / li >
< li > < a href = "#23-mailing-lists" > 2.3 Mailing Lists< / a > < / li >
< li > < a href = "#24-the-zsh-faq" > 2.4 The Zsh FAQ< / a > < / li >
< li > < a href = "#25-the-zsh-web-page" > 2.5 The Zsh Web Page< / a > < / li >
< li > < a href = "#26-the-zsh-userguide" > 2.6 The Zsh Userguide< / a > < / li >
< li > < a href = "#27-see-also" > 2.7 See Also< / a > < / li >
< / ul >
< / li >
< / ul >
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
< p > < span id = "Introduction" > < / span > < span id = "Introduction-1" > < / span > < / p >
< h1 id = "2-introduction" > < a class = "header" href = "#2-introduction" > 2 Introduction< / a > < / h1 >
< p > < span id = "index-introduction" > < / span > < / p >
< p > Zsh is a UNIX 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. It does
not provide compatibility with POSIX or other shells in its default
operating mode: see the section
< a href = "Invocation.html#Compatibility" > Compatibility< / a > .< / p >
< p > Zsh has command line editing, builtin spelling correction, programmable
command completion, shell functions (with autoloading), a history
mechanism, and a host of other features.< / p >
< hr / >
< p > < span id = "Author" > < / span > < span id = "Author-1" > < / span > < / p >
< h2 id = "21-author" > < a class = "header" href = "#21-author" > 2.1 Author< / a > < / h2 >
< p > < span id = "index-author" > < / span > < / p >
< p > Zsh was originally written by Paul Falstad < code > < pf@zsh.org> < / code > . Zsh is now
maintained by the members of the zsh-workers mailing list
< code > < zsh-workers@zsh.org> < / code > . The development is currently coordinated by
Peter Stephenson < code > < pws@zsh.org> < / code > . The coordinator can be contacted at
< code > < coordinator@zsh.org> < / code > , but matters relating to the code should
generally go to the mailing list.< / p >
< hr / >
< p > < span id = "Availability" > < / span > < span id = "Availability-1" > < / span > < / p >
< h2 id = "22-availability" > < a class = "header" href = "#22-availability" > 2.2 Availability< / a > < / h2 >
< p > Zsh is available from the following HTTP and anonymous FTP site.< / p >
< p > < span id = "index-FTP-sites-for-zsh" > < / span >
< span id = "index-acquiring-zsh-by-FTP" > < / span >
< span id = "index-availability-of-zsh" > < / span > < / p >
< p > < code > ftp://ftp.zsh.org/pub/< / code > < br / >
< code > https://www.zsh.org/pub/< / code > )< / p >
< p > The up-to-date source code is available via Git from Sourceforge. See
< code > https://sourceforge.net/projects/zsh/< / code > for details. A summary of
instructions for the archive can be found at
< code > http://zsh.sourceforge.net/< / code > .< / p >
< hr / >
< p > < span id = "Mailing-Lists" > < / span > < span id = "Mailing-Lists-1" > < / span > < / p >
< h2 id = "23-mailing-lists" > < a class = "header" href = "#23-mailing-lists" > 2.3 Mailing Lists< / a > < / h2 >
< p > < span id = "index-mailing-lists" > < / span > < / p >
< p > Zsh has 3 mailing lists:< / p >
< ul >
< li >
< p > < code > < zsh-announce@zsh.org> < / code > < br / >
Announcements about releases, major changes in the shell and the
monthly posting of the Zsh FAQ. (moderated)< / p >
< / li >
< li >
< p > < code > < zsh-users@zsh.org> < / code > < br / >
User discussions.< / p >
< / li >
< li >
< p > < code > < zsh-workers@zsh.org> < / code > < br / >
Hacking, development, bug reports and patches.< / p >
< / li >
< / ul >
< p > To subscribe or unsubscribe, send mail to the associated administrative
address for the mailing list.< / p >
< p > < code > < zsh-announce-subscribe@zsh.org> < / code > < / p >
< p > < code > < zsh-users-subscribe@zsh.org> < / code > < / p >
< p > < code > < zsh-workers-subscribe@zsh.org> < / code > < / p >
< p > < code > < zsh-announce-unsubscribe@zsh.org> < / code > < / p >
< p > < code > < zsh-users-unsubscribe@zsh.org> < / code > < / p >
< p > < code > < zsh-workers-unsubscribe@zsh.org> < / code > < / p >
< p > YOU ONLY NEED TO JOIN ONE OF THE MAILING LISTS AS THEY ARE NESTED. All
submissions to zsh-announce are automatically forwarded to zsh-users.
All submissions to zsh-users are automatically forwarded to zsh-workers.< / p >
< p > If you have problems subscribing/unsubscribing to any of the mailing
lists, send mail to < code > < listmaster@zsh.org> < / code > . The mailing lists are
maintained by Karsten Thygesen < code > < karthy@kom.auc.dk> < / code > .< / p >
< p > The mailing lists are archived; the archives can be accessed via the
administrative addresses listed above. There is also a hypertext
archive, maintained by Geoff Wing < code > < gcw@zsh.org> < / code > , available at
< code > https://www.zsh.org/mla/< / code > .< / p >
< hr / >
< p > < span id = "The-Zsh-FAQ" > < / span > < span id = "The-Zsh-FAQ-1" > < / span > < / p >
< h2 id = "24-the-zsh-faq" > < a class = "header" href = "#24-the-zsh-faq" > 2.4 The Zsh FAQ< / a > < / h2 >
< p > Zsh has a list of Frequently Asked Questions (FAQ), maintained by Peter
Stephenson < code > < pws@zsh.org> < / code > . It is regularly posted to the newsgroup
comp.unix.shell and the zsh-announce mailing list. The latest version
can be found at any of the Zsh FTP sites, or at
< code > http://www.zsh.org/FAQ/< / code > . The contact address for FAQ-related matters
is < code > < faqmaster@zsh.org> < / code > .< / p >
< hr / >
< p > < span id = "The-Zsh-Web-Page" > < / span >
< span id = "The-Zsh-Web-Page-1" > < / span > < / p >
< h2 id = "25-the-zsh-web-page" > < a class = "header" href = "#25-the-zsh-web-page" > 2.5 The Zsh Web Page< / a > < / h2 >
< p > Zsh has a web page which is located at < code > https://www.zsh.org/< / code > . This is
maintained by Karsten Thygesen < code > < karthy@zsh.org> < / code > , of SunSITE Denmark.
The contact address for web-related matters is < code > < webmaster@zsh.org> < / code > .< / p >
< hr / >
< p > < span id = "The-Zsh-Userguide" > < / span >
< span id = "The-Zsh-Userguide-1" > < / span > < / p >
< h2 id = "26-the-zsh-userguide" > < a class = "header" href = "#26-the-zsh-userguide" > 2.6 The Zsh Userguide< / a > < / h2 >
< p > A userguide is currently in preparation. It is intended to complement
the manual, with explanations and hints on issues where the manual can
be cabbalistic, hierographic, or downright mystifying (for example, the
word ‘ hierographic’ does not exist). It can be viewed in its current
state at < code > http://zsh.sourceforge.net/Guide/< / code > . At the time of writing,
chapters dealing with startup files and their contents and the new
completion system were essentially complete.< / p >
< hr / >
< p > < span id = "See-Also" > < / span > < span id = "See-Also-1" > < / span > < / p >
< h2 id = "27-see-also" > < a class = "header" href = "#27-see-also" > 2.7 See Also< / a > < / h2 >
< p > man page sh(1), man page csh(1), man page tcsh(1), man page rc(1), man
page bash(1), man page ksh(1)< / p >
< p > IEEE Standard for information Technology - Part 2: Shell and Utilities,
IEEE Inc, 1993, ISBN 1-55937-255-9.< / p >
< hr / >
< p > This document was generated on < em > February 15, 2020< / em > using
< a href = "http://www.nongnu.org/texi2html/" > < em > texi2html 5.0< / em > < / a > .< br / >
Zsh version 5.8, released on February 14, 2020.< / p >
< / main >
< nav class = "nav-wrapper" aria-label = "Page navigation" >
<!-- Mobile navigation buttons -->
< a rel = "prev" href = "The-Z-Shell-Manual.html" class = "mobile-nav-chapters previous" title = "Previous chapter" aria-label = "Previous chapter" aria-keyshortcuts = "Left" >
< i class = "fa fa-angle-left" > < / i >
< / a >
< a rel = "next" href = "Roadmap.html" class = "mobile-nav-chapters next" title = "Next chapter" aria-label = "Next chapter" aria-keyshortcuts = "Right" >
< i class = "fa fa-angle-right" > < / i >
< / a >
< div style = "clear: both" > < / div >
< / nav >
< / div >
< / div >
< nav class = "nav-wide-wrapper" aria-label = "Page navigation" >
< a rel = "prev" href = "The-Z-Shell-Manual.html" class = "nav-chapters previous" title = "Previous chapter" aria-label = "Previous chapter" aria-keyshortcuts = "Left" >
< i class = "fa fa-angle-left" > < / i >
< / a >
< a rel = "next" href = "Roadmap.html" class = "nav-chapters next" title = "Next chapter" aria-label = "Next chapter" aria-keyshortcuts = "Right" >
< i class = "fa fa-angle-right" > < / i >
< / a >
< / nav >
< / div >
<!-- Livereload script (if served using the cli tool) -->
< script type = "text/javascript" >
var socket = new WebSocket("ws://localhost:3000/__livereload");
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload();
}
};
window.onbeforeunload = function() {
socket.close();
}
< / script >
< script type = "text/javascript" >
window.playground_copyable = true;
< / script >
< script src = "elasticlunr.min.js" type = "text/javascript" charset = "utf-8" > < / script >
< script src = "mark.min.js" type = "text/javascript" charset = "utf-8" > < / script >
< script src = "searcher.js" type = "text/javascript" charset = "utf-8" > < / script >
< script src = "clipboard.min.js" type = "text/javascript" charset = "utf-8" > < / script >
< script src = "highlight.js" type = "text/javascript" charset = "utf-8" > < / script >
< script src = "book.js" type = "text/javascript" charset = "utf-8" > < / script >
<!-- Custom JS scripts -->
< / body >
< / html >