- [Show pagesource]
- [Old revisions]
- [Move]
Impressive list. However, I think the 'docs' section is not quite right, as it was intended to link to existing documentation elsewhere. Personally, I'd put this subpage into the 'scripting' namespace (although, for such a big page, that's probably not fitting for every bit of information in there). We could also introduce a new namespace, like 'misc'…
Moving pages is pretty simple for wiki admins. Ask #zsh on freenode. – ft
Feel free to move it wherever you wish, but do leave a redirect here. I don't feel knowledgeable enough about the organization of the wiki to have an opinion one way or another. – jessew
zrjam, thanks so much for the additions you've done! I really appreciate it. – jessew
I just learned about the various and quite useful indexes available. And I wish I'd known of them sooner, and I wish the links to specific functions, options, etc. were both more visible, and more transparent; what I'd like to be able to do was write: %compdef% and have it automagically link to http://zsh.dotsrc.org/Doc/Release/zsh_19.html#IDX1162 – we should be able to do this, right?
Character Index, e.g. What does this character mean?
This is intended to be a list of the various and multiple meanings in the zsh of all the characters on the keyboard. Flags, punctuation, etc. It is sorted in ASCII order, but with case-folded. While it is intended to be complete, it is not so yet. (Quite a bit of the phrasing used below was copied from the ZSH Reference Card.)
!
!(pat)is a KSH_GLOB operator meaning anything but pat!expris the general form of history expansion!is a history event designator expansion referring to the previous command%!is a prompt expansion for the current history event number!is a shell variable automatically set to the Process ID of last background processSTRING != PATTERNis a conditional expression operator which is true if STRING does not match PATTERN! expris a conditional expression operator which is true if expr is false!-fooprevents -foo from being completed within the argument specifiers used by the _arguments completion utility function
"
"serves to mark double quoted strings, a type of quoting (the others are single quoting (') and backslash quoting (\)); in double quotes, parameter expansion, command substitution, and limited backslash quoting occur.!"turns off the history mechanism for the current list
#
X#is an EXTENDED_GLOB globbing pattern meaning zero or more occurrences of element XX##is an EXTENDED_GLOB globbing pattern meaning one or more occurrences of element X(#X)is the form of all EXTENDED_GLOB globbing flags, where X is the flag.#, in scripts (or interactively, with INTERACTIVE_COMMENTS set) makes the rest of the line a comment.!#is a history expansion referring to the current command line so far.%#is a prompt expansion used to identify root shells.${var#pat}is a parameter expansion form returning the minimum match of pat removed from head${var##pat}is a parameter expansion form returning the maximum match of pat removed from head${var:#pat}is a parameter expansion form returning var unless pat matches, then empty${#var}is a parameter expansion form returning the length of var in words (if it's an array) or bytes otherwise.#is a shell variable automatically set to the number of arguments to a script or function#at the start of the matching pattern in a s/l/r/ history expansion with HIST_SUBST_PATTERN set anchors the pattern to the start of string to be matchedBASE#Ninside an arthemitic expression, means the integer N expressed in the base BASE
$
$varperforms variable (i.e. parameter) substitution/expansion${var}performs parameter substitution/expansion, and allows parameter expansion flags and alternative parameter expansion forms.$(cmds)turns into the output of cmds, i.e. does command substitution (this is a synonym for`cmds`(backquoting))$((expr))performs arithmetic substitution, i.e. it does math on expr and turns into the result:$is a history expansion word selector referring to the last command argument; it's often used in the form of!!:$which expands to the last argument of the previous command$is a shell variable automatically set to the process ID of the main shell process
%
%is a glob qualifier referring to special files%is a parameter expansion flag (e.g.${(%)VARIABLE}) indicating that the string in VARIABLE should be prompt expanded%bis a glob qualifier referring to block special files%cis a glob qualifier referring to character special files%[optional integer]single characterforms all prompt expansions; rather than duplicating them here, please look them up under their single character%%is a prompt expansion that expands to a percent character (i.e. "%")!?str?:%is a history expansion referring to the most recent word in the history matching str!%or!:%is a history expansion referring to the word matched by the last!?str?history expansion (the%is a word selector/designator)${var%pat}is a parameter expansion form returning the minimum match of pat removed from the tail end of the value of var${var%%pat}is a parameter expansion form returning the maximum match of pat removed from the tail end of the value of var%in arithmetic expansions is the modulus operator%=in arithmetic expansions is the modulus assignment operator%din the value of theformatcompletion zstyle refers to the specific format%at the start of the matching pattern in a s/l/r/ history expansion with HIST_SUBST_PATTERN set anchors the pattern to the end of string to be matched%NUMBERis a job control reference to NUMBER job%STRINGis a job control reference to a job whose command line begins with STRING%?STRINGis a job control reference to a job whose command line contains STRING%%OR%+are job control references to the current job%-is a job control references to the previous job
&
&&is a command separator which makes the following command run only if the previous one succeeded, and a arithmetic operator which means logical ANDEXP1 && EXP2is a conditional expression operator which is true if EXP1 and EXP2 are true|&is a command separator which is shorthand for2>&1 |, which sends stdout and stderr to stdin of the next command&is a sublist terminator which puts the pipeline before it into the background, and an arithmetic operator which means bitwise AND&!or&|are sublist terminators which background and disown (don't track in the jobs table) their sublists:&is a expansion modifier causing a previously set of search and replace strings to be re-used<& numberis a redirection operator which duplicates stdin from file descriptor number>& numberis a redirection operator which duplicates stdout from file descriptor number<& -is a redirection operator which closes stdin>& -is a redirection operator which closes stdout<& pis a redirection operator which moves coprocess input to stdin>& pis a redirection operator which moves stdout to coprocess output>& wordor&> wordare redirection operators which redirect both stdout and stderr to word (>&will be interpreted as above, if possible; use&>if to remove ambiguity)>&| wordor>&! wordor&>| wordor&>! wordare redirection operators which silently overwrite word, and redirect both stdout and stderr»& wordor&» wordare redirection operators which redirect both stdout and stderr to word in append mode»&| wordor»&! wordor&»| wordor&»! wordare redirection operators which silently create word, and redirect both stdout and stderr to it in append mode;&is a list terminator used incasestatements which causes fall-through, i.e. the next list will be executed, too&=or&&=are arithmetic operators which combine bitwise or logical AND with assignment&in the replacement string in a :s/l/r/ expansion modifier substitution is replaced by the matched text
'
'is used to quote things; it is referred as single-quoting''(two single quotes), when the option RC_QUOTES is on, get turned into one single quote when found inside a single-quoted string; otherwise, they just vanish (i.e. they end the string, and start a new one, which gets automatically joined with the last one)$'str'is processed like theprintbuiltin does, and quoted
(
(list)executes list in a subshell(choices)enclose choices in a foreach statement- optionally surround patterns in a case statement
- optional when defining a function
(pat)is a glob pattern that groups globbing patterns(pat1|pat2)is a glob pattern that matches either pat1 or pat2K(pat)(where K is a KSH_GLOB operator) is the form of such operators(#X)is the form of a globbing flag, where X is the flag in question (listed under their individual letters) Note that some flags take additional arguments, which are included in the parentheses. Also note that all such flags require the EXTENDED_GLOB option.pat(glob qualifiers)is the form for glob qualifiers, which are listed under their individual letters- surround the list executed in process substitution
- surround the command executed in command substitution ($())
- a pair surrounds arithmetic expansion
- may be used to surround parameter expansion flags, instead of
: - group tests within a double square bracket test expression
- doubled, activates arithmetic expansion within test expressions
- surround arguments to math functions
- surround list of options to be excluded in the argument specifiers used by the _arguments completion utility function
- surround explicit list of possible completions for arguments to options in the argument specifiers used by the _arguments completion utility function
- sets of arguments in the argument specifiers used by the _arguments completion utility function
- can be used for grouping in a conditional expression
)
- See
( %)is a prompt expansion that expands to a close paren character (i.e. ")")
*
*is a glob pattern referring to any string*is a glob qualifier referring to executable plain files (e.g. "*(*)")**/is a glob pattern referring to any number of directories, i.e. all subdirectories***/same as "**/" but also follows symlinks*(pat)is a KSH_GLOB operator meaning zero or more copies of pat*is a shell variable automatically set to the list of positional parameters within a script or function; it is a synonym forargv*in arithmetic expansions is the multiplication operator**in arithmetic expansions is the exponentiation operator*=in arithmetic expansions is the multiplication assignment operator**=in arithmetic expansions is the exponentiation assignment operator%*is a prompt expansion expanding to current time of day in 24-hour format, with seconds.*is a history word selector which selects all the arguments on the selected command line, or a null value if there are none.- Other meanings not yet listed here…
+
+cmdis a glob qualifier referring to files for which cmd evaluates totrue(cmd must be a single word)$+VARIABLEreturns 0 if VARIABLE is not set, and 1 if it is set (even if it is set to the empty string)+(pat)is a KSH_GLOB operator meaning one or more copies of pat- Other meanings not yet listed here…
,
-
-is a glob qualifier toggling link following behavior; i.e. does globing work on symbolic link targets, or the link files themselves (default is link files, not targets)<num1-num2>is a glob pattern meaning any number between num1 and num2; if num1 missing, from 0 to num2; if num2 missing, from num1 to infinity-is a precommand modifier that prepends a dash to the command name stored in argv[0]-is a shell variable automatically set to the flags supplied to the shell- Other meanings not yet listed here…
.
.is a glob quantifier referring to plain files. FILEis a shell builtin that sources FILE, i.e. reads commands from it and executes them- Other meanings not yet listed here…
/
/is a glob quantifier referring to directories**/is a glob pattern referring to any number of directories, i.e. all subdirectories-/is an option to the _path_files completion function causing it to complete only directories- Other meanings not yet listed here…
-0is a synonym for the CORRECT option0is a shell variable automatically set to the name used to invoke the current shell; with the FUNCTION_ARGZERO option set, reflects the name of functions and scripts while within them0xOR0Xbegins a hexadecimal literal integer
1
2
3
-3is a synonym for the NO_NO_MATCH option
4
-4is a synonym for the GLOB_DOTS option
5
-5is a synonym for the NOTIFY option
6
-6is a synonym for the BG_NICE option
7
-7is a synonym for the IGNORE_EOF option
8
-8is a synonym for the MARK_DIRS option
9
-9is a synonym for the AUTO_LIST option
:
:is a shell builtin that does nothing, and returns true, but without stdout/stderr output:separates parts of a zstyle context:class:is the form of all character classes, where class is one ofalnum,alpha, etc- Other meanings not yet listed here…
;
;terminates a sublist, and is a synonym for a newline;;terminates a particular case within a case statement;&terminates a particular case within a case statement, but falls through;|terminates a particular case within a case statement, but keeps looking for matching cases- Other meanings not yet listed here…
<
<num1-num2>is a glob pattern meaning any number between num1 and num2; if num1 missing, from 0 to num2; if num2 missing, from num1 to infinity<(cmds)is a type of process substitution (expansion), which expands to a device file (or FIFO) holding the output of cmdsSTRING1 < STRING2is a conditional expression operator which is true if STRING1 comes before STRING2 based on ASCII value of their characters- Other meanings not yet listed here…
=
=is a glob quantifier referring to sockets=(cmds)is a type of process substitution (expansion), which expands to temporary file holding the output of cmdsSTRING == PATTERNORSTRING = PATTERNare conditional expression operators which are true if STRING matches PATTERN (The single equals form is obsolete.)STRING =~ REGEXPis a conditional expression operator which is true if STRING matches REGEXP- Other meanings not yet listed here…
>
<num1-num2>is a glob pattern meaning any number between num1 and num2; if num1 missing, from 0 to num2; if num2 missing, from num1 to infinity>(cmds)is a type of process substitution (expansion), which expands to a device file (or FIFO) which will be read for standard input by cmdsSTRING1 > STRING2is a conditional expression operator which is true if STRING1 comes after STRING2 based on ASCII value of their characters- Other meanings not yet listed here…
?
?is a glob pattern matching any single character?(pat)is a KSH_GLOB operator matching zero or 1 copy of pat!?stris a history expansion referring to the last command containing str%?is a prompt expansion for the return status of most recently executed command${var:?str}is a parameter expansion form which returns var if it is non-null, otherwise prints str(if given) as an error and aborts?is a shell variable automatically set to the status of the most recently executed commandtest?true_exp:false_expis the C ternary if statement, usable only within arithmetic expressions
@
@(pat)is a KSH_GLOB operator used to group patterns@is a glob quantifier referring to symbolic links%@is a prompt expansion expanding to the current time, in 12 hour (AM/PM) format. (%tis a synonym)@is a parameter expansion flag causing arrays to be expanded even within double quotes@is a shell variable automatically set to the list of positional parameters within a script or function; unlikeargv, it splits into words even within double quotes.
a
-ais a synonym for the ALL_EXPORT option-Aand+Aare options to thesetbuiltin used for creating arrays(#anum)is an EXTENDED_GLOB globbing flag causing num approximations to be permitted in matchesais a glob qualifier specifying a particular access time; its format isafollowed by one of the lettersMwhms(referring to the time units: Months, weeks, hours, minutes or seconds) followed by a plus or minus (referring to at older than or newer than), followed by a number (to set how many time units)Ais a glob qualifier specifying the group read permission is set, i.e. –r—– or 0040Ais a parameter expansion flag which creates an array parameterAAis a parameter expansion flag which creates an associative array parameterais a parameter expansion flag causing sorting to be done on array index-a FILEis a conditional expression operator, identical to-e, i.e. it is true if FILE existsoais a glob qualifier which causes the results to be sorted by access time; see underofor other sort orders:ais an expansion modifier that turns a file name into an absolute path.:Ais an expansion modifier that turns a file name into an absolute path, resolving symlinks.
b
-Bis a synonym for the NO_BEEP option(#b)is an EXTENDED_GLOB globbing flag turning on backreferences, i.e. setting the shell parameters match, mbegin, & mend.(#B)is an EXTENDED_GLOB globbing flag turning off backreferences%bis a glob qualifier referring to block special files-b FILEis a conditional expression operator which is true if FILE is an existing block special file- Other meanings not yet listed here…
c
-Cis a synonym for the NO_CLOBBER option%cis a glob qualifier referring to character special filescis a glob qualifier specifying a particular inode change (attribute modification) time; it's format iscfollowed by one of the lettersMwhms(referring to the time units: Months, weeks, hours, minutes or seconds) followed by a plus or minus (referring to at older than or newer than), followed by a number (to set how many time units)ocis a glob qualifier which causes the results to be sorted by inode change (attribute modification) time; see underofor other sort orders:cis an expansion modifier that turns a command name into an absolute path-c FILEis a conditional expression operator which is true if FILE is an existing character special file- Other meanings not yet listed here…
d
-Dis a synonym for the PUSHD_TO_HOME optionddevis a glob qualifier referring to files with a device number of devDis a glob qualifier which turns on the GLOB_DOTS optionocis a glob qualifier which causes the results to be sorted with files in subdirectories first; see underofor other sort orders-d FILEis a conditional expression operator which is true if FILE is an existing directory- Other meanings not yet listed here…
e
-eis a synonym for the ERR_EXIT option-Eis a synonym for the PUSHD_SILENT option(#e)is a globbing flag that forces the pattern to only match at the end of the test stringeDstringDis a glob qualifier (where D is any character, used as delimiter for string) referring to files for which string evaluates totrueEis a glob qualifier specifying the group execute permission is set, i.e. —-x— or 0010:eis an expansion modifier that removes all but the extension-e FILEis a conditional expression operator which is true if FILE existsFILE1 -ef FILE2is a conditional expression operator which is true if both files exist and are names for the same thingEXP1 -eq EXP2is a conditional expression operator which is true if both expressions are numerically equal.- Other meanings not yet listed here…
f
-Fis a synonym for the NO_GLOB option-fis a synonym for the NO_RCS optionFis a glob quantifier referring to non-empty directoriesfspecis a glob quantifier referring to files with the chmod-style permissions of spec-fis an option to the _path_files completion function causing it to complete all files, as is the default-F filesis an option to the _path_files completion function causing it to ignore, i.e. not complete files, overriding ignored-patterns:fXis an expansion modifier that repeats the following modifier (X) until the result doesn't change any more (Only works with parameter expansion):F:EXPR:Xis an expansion modifier with the same effect as:f, but has the repetition limited to EXPR times. The colons can be any other character, if needed. (Only works with parameter expansion)-f FILEis a conditional expression operator which is true if FILE is an existing regular file- Other meanings not yet listed here…
g
-gis a synonym for the HIST_IGNORE_SPACE option-Gis a synonym for the NULL_GLOB optionGis a glob qualifier referring to files owned by a user in the same group as the current effective user (i.e. with the same effective GID)ggidis a glob qualifier referring to files owned by a user in gid (can be a name instead of a number)-g patis an option to the _path_files completion function causing it to complete files that match pat-g FILEis a conditional expression operator which is true if FILE is an existing file with its setgid bit set-G FILEis a conditional expression operator which is true if FILE is in the current groupEXP1 -gt EXP2is a conditional expression operator which is true if EXP1 is numerically greater than EXP2EXP1 -ge EXP2is a conditional expression operator which is true if EXP1 is numerically greater than or equal to EXP2- Other meanings not yet listed here…
h
-his a synonym for the HIST_IGNORE_DUPS option-His a synonym for the RM_STAR_SILENT optionah,chormhare glob qualifiers specifying a particular access time, inode change (attribute modification) time, or modification time; see undera,cormfor details:his an expansion modifier that acts like dirname, removing a trailing pathname component-h FILEis a conditional expression operator, identical to-e, i.e. it is true if FILE is an existing symbolic link- Other meanings not yet listed here…
i
-Iis a synonym for the IGNORE_BRACES option-iis a synonym for the INTERACTIVE option(#i)is an EXTENDED_GLOB globbing flag causing case insensitive matching(#I)is an EXTENDED_GLOB globbing flag causing case sensitive matchingIis a glob qualifier specifying the group write permission is set, i.e. —w—- or 0020- Other meanings not yet listed here…
j
-Jis a synonym for the AUTO_CD option%jis a prompt expansion referring to the number of jobs, as displayed by thejobsbuiltinj:str:is a parameter expansion flag causing the words expanded by the parameter to be joined with str in between
k
-kis a synonym for the INTERACTIVE_COMMENTS option-Kis a synonym for the NO_BANG_HIST option-k FILEis a conditional expression operator which is true if FILE is an existing file with its sticky bit set- Other meanings not yet listed here…
l
-lis a synonym for the LOGIN option-Lis a synonym for the SUN_KEYBOARD_HACK option(#l)is an EXTENDED_GLOB globbing flag causing lower case to match upper casel-numandl+numare glob qualifiers referring to files with link counts less than (or greater than, for+) numoLis a glob qualifier which causes the results to be sorted by file size (Length); see underofor other sort ordersolis a glob qualifier which causes the results to be sorted by link count; see underofor other sort orders%lis a prompt expansion that expands to the user's tty line%Lis a prompt expansion that expands to the current value of $SHLVL (the depth of nested shells):lis an expansion modifier that converts the words to lowercase-L FILEis a conditional expression operator which is true if FILE is an existing symbolic linkEXP1 -lt EXP2is a conditional expression operator which is true if EXP1 is numerically less than EXP2EXP1 -le EXP2is a conditional expression operator which is true if EXP1 is numerically less than or equal to EXP2- Other meanings not yet listed here…
m
-mis a synonym for the MONITOR option-Mis a synonym for the SINGLE_LINE_ZLE option(#m)is an EXTENDED_GLOB globbing flag causing the match data to be saved, i.e. the contents and length of the match are put in the shell parameters MATCH, MBEGIN and MENDmis a glob qualifier specifying a particular modification time; its format ismfollowed by one of the lettersMwhms(referring to the time units: Months, weeks, hours, minutes or seconds) followed by a plus or minus (referring to at older than or newer than), followed by a number (to set how many time units)Mis a glob qualifier which causes directories to be marked (i.e. sets the MARK_DIRS option)(#M)is an EXTENDED_GLOB globbing flag causing the match data not be savedaM,am,cMorcmare glob qualifiers specifying a particular access time (the first two) or inode change (attribute modification) time; see underaorcfor details.omis a glob qualifier which causes the results to be sorted by modification time; see underofor other sort orders- Other meanings not yet listed here…
n
-Nis a synonym for the AUTO_PUSHD option-nis a synonym for the NO_EXEC optionNis a glob qualifier which turns on the NULL_GLOB optionnis a glob qualifier which turns on the NUMERIC_GLOB_SORT optiononis a glob qualifier which causes the results to be sorted by name; see underofor other sort orders-n STRINGis a conditional expression operator which is true if STRING's length is non-zero-N FILEis a conditional expression operator which is true if FILE hasn't been accessed since it was modifiedFILE1 -nt FILE2is a conditional expression operator which is true if FILE1 exists and is newer than FILE2EXP1 -ne EXP2is a conditional expression operator which is true if EXP1 is not numerically equal to EXP2- Other meanings not yet listed here…
o
-Ois a synonym for the CORRECT_ALL optionois a glob qualifier that selects a type of sorting; the choices areon, name (default);oL, size (Length);ol, link count;oa, access time,om, modification time,oc, inode change (attribute modification) time,od, files in subdirectories appear before those in the current directory at each level of the searchOis a glob qualifier that selects a type of sorting, reversed fromo; the choices are the same as witho-o OPTIONis a conditional expression operator which is true if OPTION is on (if OPTION is a single letter, it's a single letter option synonym, without the normal initial dash)-O FILEis a conditional expression operator which is true if FILE is owned by the current userFILE1 -ot FILE2is a conditional expression operator which is true if FILE1 exists and is older than FILE2- Other meanings not yet listed here…
p
-Pis a synonym for the RC_EXPAND_PARAM option-pis a synonym for the PRIVILEGED optionpis a glob qualifier referring to named pipes (FIFOs)Pis a parameter expansion flag which causes the name in the parameter expansion to be treated as a variable whose value then becomes the value of the expansionpis a parameter expansion flag that activatesprintescape sequences in the *arguments* of other parameter expansion flags:pis a expansion modifier (only for history expansion) which causes the expansion to be printed, but not executed as it would be normally-p FILEis a conditional expression operator which is true if FILE is an existing FIFO special file (named pipe)- Other meanings not yet listed here…
q
-Qis a synonym for the PATH_DIRS option(#qexpr)is an EXTENDED_GLOB globbing flag listing a set of glob qualifiers:qis a expansion modifier which adds a layer of quotes:Qis a expansion modifier which strips off a layer of quotesqis a parameter expansion flag causing the result to be quoted with backslashesqqis a parameter expansion flag causing the result to be quoted with single quotesqqqis a parameter expansion flag causing the result to be quoted with double quotesqqqqis a parameter expansion flag causing the result to be quoted with the$'…' formQis a parameter expansion flag which strips off a layer of quotes
r
ris a shell builtin that is a synonym forfc -e -, i.e. repeat the last command-Ris a synonym for the LONG_LIST_JOBS option-ris a synonym for the RESTRICTED optionris a glob qualifier specifying that matched files are readable by their ownersRis a glob quantifier referring world readable files:ris an expansion modifier that removes a file extension-r FILEis a conditional expression operator which is true if FILE is an existing, currently readable, file- Other meanings not yet listed here…
s
-Sis a synonym for the REC_EXACT option-sis a synonym for the SHIN_STDIN option(#s)is an EXTENDED_GLOB globbing flag forcing the pattern to only match at the beginning of the test stringsis a glob quantifier referring to setuid files (set user id)sis a glob quantifier referring to setgid files (set group id)as,csormsare glob qualifiers specifying a particular access time, inode change (attribute modification) time, or modification time; see undera,cormfor details:s/l/ris an expansion modifier that does single replacement:s/l/r/:Gor:gs/l/ris an expansion modifier that does global replacement-s FILEis a conditional expression operator which is true if FILE is an existing file with a non-zero size-S FILEis a conditional expression operator which is true if FILE is an existing socket- Other meanings not yet listed here…
t
-Tis a synonym for the CDABLE_VARS option-tis a synonym for the SINGLE_COMMAND optiontis a glob quantifier referring to files with the sticky bit setTis a glob qualifier which causes directories, links, and special files to be marked (i.e. sets the LIST_TYPES option):tis an expansion modifier that acts like basename, removing all leading pathname components-t FDis a conditional expression operator which is true if FD is open and associated with a terminal device- Other meanings not yet listed here…
u
-Uis a synonym for the MAIL_WARNING option-uis a synonym for the NO_UNSET optionUis a glob qualifier referring to files owned by the current effective UIDuuidis a glob qualifier referring to files owned by uid (can be a name instead of a number):uis an expansion modifier that converts the words to uppercase-u FILEis a conditional expression operator which is true if FILE is an existing file with its setuid bit set- Other meanings not yet listed here…
v
-Vis a synonym for the NO_PROMPT_CR option-vis a synonym for the VERBOSE option- Other meanings not yet listed here…
w
-Wis a synonym for the AUTO_RESUME option-wis a synonym for the CHASE_LINKS optionwis a glob qualifier specifying that matched files are writable by their ownersWis a glob quantifier referring world writable filesaw,cwormware glob qualifiers specifying a particular access time, inode change (attribute modification) time, or modification time; see undera,cormfor details.-W dirsis an option to the _path_files completion function causing it to look in dirs for files to complete:wXis an expansion modifier that applies the following modifier (X) to each word in the string (Only works with parameter expansion):W:SEP:Xis an expansion modifier with the same effect as:w, but splits words using SEP. The colons can be any other character, if needed. (Only works with parameter expansion)-w FILEis a conditional expression operator which is true if FILE is an existing, currently writable, file- Other meanings not yet listed here…
x
-Xis a synonym for the LIST_TYPES option-xis a synonym for the XTRACE optionxis a glob qualifier specifying that matched files are executable by their ownersXis a glob quantifier referring world executable files:xis an expansion modifier that adds a layer of quotes, after breaking into words on whitespace (doesn't work on parameter expansion)-x FILEis a conditional expression operator which is true if FILE is an existing, currently executable, file- Other meanings not yet listed here…
y
-Yis a synonym for the MENU_COMPLETE option-yis a synonym for the SH_WORD_SPLIT option- Other meanings not yet listed here…
z
-Zis a synonym for the ZLE option-z STRINGis a conditional expression operator which is true if STRING's length is zero- Other meanings not yet listed here…
[
[[ cond ]]evaluates cond as a conditional expression, returning true (0) or false (1)[ cond ]is a synonym for thetestbuiltin, i.e. it evaluates cond as a POSIX-style test expression, returning true (0), false (1), or error (2)[class]is a glob pattern meaning any single character in class
[^class]is a glob pattern meaning any single character not in class[num]is a glob qualifier causing the pattern to only return only the numth result[beg,end]is a glob qualifier causing the pattern to only return the results between beg and end as if they were an array (beg and end can be expressions)[BASE]Ninside an arthemitic expression, means the integer N expressed in the base BASE (This is a depreciated form;BASE#Nis preferred)[#BASE] inside an arthemitic expression, sets the base for output -[##BASE] inside an arthemitic expression, sets the base for output, but doesn't display a base prefix- Other meanings not yet listed here…
\
\Cquotes the character\[newline]removes the newline, i.e. acts as a line continuation
]
- See
[
^
[^class]is a glob pattern meaning any single character not in class^patis an EXTENDED_GLOB globbing pattern meaning anything that doesn't match pat^is a glob quantifier which negates the following quantifiers^is a history word selector which selects the first argument (i.e. a synonym for1)${^var}is a parameter expansion form that causes the elements of var to be expanded like brace expansion
_
_is a shell variable automatically set (within the shell) to the last argument of the previous command, and (within a command) to the command's full pathname
{
{list}groups the commands in list, so they act like a single command, e.g. they can be redirected as a whole${var}performs parameter substitution/expansion, and allows parameter expansion flags and alternative parameter expansion forms (for which, see under their sections in this page)
|
||is used to connect pipelines (or single simple commands) into an OR sublist|, the pipe character, is used to redirect the output of one command into the input of another, forming a pipeline(pat1|pat2)is a glob pattern that matches either pat1 or pat2EXP1 || EXP2is a conditional expression operator which is true if either EXP1 or EXP2 are true- Other meanings not yet listed here…
}
- See
{
~
pat~exclude_patis an EXTENDED_GLOB globbing pattern meaning anything that matches pat and doesn't match exclude_pat



