📄 refcards.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><HTML><HEAD><TITLE>Reference Cards</TITLE><METANAME="GENERATOR"CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+"><LINKREL="HOME"TITLE="Advanced Bash-Scripting Guide"HREF="index.html"><LINKREL="PREVIOUS"TITLE="Contributed Scripts"HREF="contributed-scripts.html"><LINKREL="NEXT"TITLE="A Sed and Awk Micro-Primer"HREF="sedawk.html"><METAHTTP-EQUIV="Content-Style-Type"CONTENT="text/css"><LINKREL="stylesheet"HREF="common/kde-common.css"TYPE="text/css"><METAHTTP-EQUIV="Content-Type"CONTENT="text/html; charset=iso-8859-1"><METAHTTP-EQUIV="Content-Language"CONTENT="en"><LINKREL="stylesheet"HREF="common/kde-localised.css"TYPE="text/css"TITLE="KDE-English"><LINKREL="stylesheet"HREF="common/kde-default.css"TYPE="text/css"TITLE="KDE-Default"></HEAD><BODYCLASS="APPENDIX"BGCOLOR="#FFFFFF"TEXT="#000000"LINK="#AA0000"VLINK="#AA0055"ALINK="#AA0000"STYLE="font-family: sans-serif;"><DIVCLASS="NAVHEADER"><TABLESUMMARY="Header navigation table"WIDTH="100%"BORDER="0"CELLPADDING="0"CELLSPACING="0"><TR><THCOLSPAN="3"ALIGN="center">Advanced Bash-Scripting Guide: An in-depth exploration of the art of shell scripting</TH></TR><TR><TDWIDTH="10%"ALIGN="left"VALIGN="bottom"><AHREF="contributed-scripts.html"ACCESSKEY="P">Prev</A></TD><TDWIDTH="80%"ALIGN="center"VALIGN="bottom"></TD><TDWIDTH="10%"ALIGN="right"VALIGN="bottom"><AHREF="sedawk.html"ACCESSKEY="N">Next</A></TD></TR></TABLE><HRALIGN="LEFT"WIDTH="100%"></DIV><DIVCLASS="APPENDIX"><H1><ANAME="REFCARDS"></A>Appendix B. Reference Cards</H1><P>The following reference cards provide a useful <SPANCLASS="emphasis"><ICLASS="EMPHASIS">summary</I></SPAN> of certain scripting concepts. The foregoing text treats these matters in more depth, as well as giving usage examples.</P><P><ANAME="SPECSHVARTAB"></A></P><DIVCLASS="TABLE"><HR><ANAME="AEN20317"></A><P><B>Table B-1. Special Shell Variables</B></P><TABLEBORDER="1"CLASS="CALSTABLE"><THEAD><TR><THALIGN="LEFT"VALIGN="TOP">Variable</TH><THALIGN="LEFT"VALIGN="TOP">Meaning</TH></TR></THEAD><TBODY><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">$0</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Filename of script</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">$1</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Positional parameter #1</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">$2 - $9</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Positional parameters #2 - #9</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">${10}</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Positional parameter #10</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">$#</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Number of positional parameters</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">"$*"</TT></TD><TDALIGN="LEFT"VALIGN="TOP">All the positional parameters (as a single word) *</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">"$@"</TT></TD><TDALIGN="LEFT"VALIGN="TOP">All the positional parameters (as separate strings)</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">${#*}</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Number of command line parameters passed to script</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">${#@}</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Number of command line parameters passed to script</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">$?</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Return value</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">$$</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Process ID (PID) of script</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">$-</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Flags passed to script (using <ICLASS="FIRSTTERM">set</I>)</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">$_</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Last argument of previous command</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">$!</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Process ID (PID) of last job run in background</TD></TR></TBODY></TABLE><HR></DIV><P><BCLASS="COMMAND">*</B> <SPANCLASS="emphasis"><ICLASS="EMPHASIS">Must be quoted</I></SPAN>, otherwise it defaults to <SPANCLASS="QUOTE">"<TTCLASS="VARNAME">$@</TT>"</SPAN>.</P><P><ANAME="BINCOMPTAB"></A></P><DIVCLASS="TABLE"><HR><ANAME="AEN20389"></A><P><B>Table B-2. TEST Operators: Binary Comparison</B></P><TABLEBORDER="1"CLASS="CALSTABLE"><THEAD><TR><THALIGN="LEFT"VALIGN="TOP">Operator</TH><THALIGN="LEFT"VALIGN="TOP">Meaning</TH><THALIGN="LEFT"VALIGN="TOP">-----</TH><THALIGN="LEFT"VALIGN="TOP">Operator</TH><THALIGN="LEFT"VALIGN="TOP">Meaning</TH></TR></THEAD><TBODY><TR><TDALIGN="LEFT"VALIGN="TOP"> </TD><TDALIGN="LEFT"VALIGN="TOP"> </TD><TD> </TD><TD> </TD><TD> </TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP">Arithmetic Comparison</TD><TDALIGN="LEFT"VALIGN="TOP"> </TD><TDALIGN="LEFT"VALIGN="TOP"> </TD><TDALIGN="LEFT"VALIGN="TOP">String Comparison</TD><TDALIGN="LEFT"VALIGN="TOP"> </TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">-eq</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Equal to</TD><TDALIGN="LEFT"VALIGN="TOP"> </TD><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">=</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Equal to</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"> </TD><TDALIGN="LEFT"VALIGN="TOP"> </TD><TDALIGN="LEFT"VALIGN="TOP"> </TD><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">==</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Equal to</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">-ne</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Not equal to</TD><TDALIGN="LEFT"VALIGN="TOP"> </TD><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">!=</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Not equal to</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">-lt</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Less than</TD><TDALIGN="LEFT"VALIGN="TOP"> </TD><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">\<</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Less than (ASCII) *</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">-le</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Less than or equal to</TD><TDALIGN="LEFT"VALIGN="TOP"> </TD><TDALIGN="LEFT"VALIGN="TOP"> </TD><TD> </TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">-gt</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Greater than</TD><TDALIGN="LEFT"VALIGN="TOP"> </TD><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">\></TT></TD><TDALIGN="LEFT"VALIGN="TOP">Greater than (ASCII) *</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">-ge</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Greater than or equal to</TD><TDALIGN="LEFT"VALIGN="TOP"> </TD><TDALIGN="LEFT"VALIGN="TOP"> </TD><TD> </TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"> </TD><TDALIGN="LEFT"VALIGN="TOP"> </TD><TDALIGN="LEFT"VALIGN="TOP"> </TD><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">-z</TT></TD><TDALIGN="LEFT"VALIGN="TOP">String is empty</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"> </TD><TDALIGN="LEFT"VALIGN="TOP"> </TD><TDALIGN="LEFT"VALIGN="TOP"> </TD><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">-n</TT></TD><TDALIGN="LEFT"VALIGN="TOP">String is not empty</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"> </TD><TDALIGN="LEFT"VALIGN="TOP"> </TD><TD> </TD><TD> </TD><TD> </TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP">Arithmetic Comparison</TD><TDALIGN="LEFT"VALIGN="TOP">within double parentheses (( ... ))</TD><TD> </TD><TD> </TD><TD> </TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">></TT></TD><TDALIGN="LEFT"VALIGN="TOP">Greater than</TD><TD> </TD><TD> </TD><TD> </TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">>=</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Greater than or equal to</TD><TD> </TD><TD> </TD><TD> </TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION"><</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Less than</TD><TD> </TD><TD> </TD><TD> </TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION"><=</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Less than or equal to</TD><TD> </TD><TD> </TD><TD> </TD></TR></TBODY></TABLE><HR></DIV><P><BCLASS="COMMAND">*</B> <SPANCLASS="emphasis"><ICLASS="EMPHASIS">If within a double-bracket</I></SPAN> <SPANCLASS="TOKEN">[[ ... ]]</SPAN> <SPANCLASS="emphasis"><ICLASS="EMPHASIS">test construct, then no escape</I></SPAN> <SPANCLASS="TOKEN">\</SPAN> <SPANCLASS="emphasis"><ICLASS="EMPHASIS">is needed.</I></SPAN></P><P><ANAME="FILESTAB"></A></P><DIVCLASS="TABLE"><HR><ANAME="AEN20505"></A><P><B>Table B-3. TEST Operators: Files</B></P><TABLEBORDER="1"CLASS="CALSTABLE"><THEAD><TR><THALIGN="LEFT"VALIGN="TOP">Operator</TH><THALIGN="LEFT"VALIGN="TOP">Tests Whether</TH><THALIGN="LEFT"VALIGN="TOP">-----</TH><THALIGN="LEFT"VALIGN="TOP">Operator</TH><THALIGN="LEFT"VALIGN="TOP">Tests Whether</TH></TR></THEAD><TBODY><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">-e</TT></TD><TDALIGN="LEFT"VALIGN="TOP">File exists</TD><TDALIGN="LEFT"VALIGN="TOP"> </TD><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">-s</TT></TD><TDALIGN="LEFT"VALIGN="TOP">File is not zero size</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">-f</TT></TD><TDALIGN="LEFT"VALIGN="TOP">File is a <ICLASS="FIRSTTERM">regular</I> file</TD><TD> </TD><TD> </TD><TD> </TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">-d</TT></TD><TDALIGN="LEFT"VALIGN="TOP">File is a <ICLASS="FIRSTTERM">directory</I></TD><TDALIGN="LEFT"VALIGN="TOP"> </TD><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">-r</TT></TD><TDALIGN="LEFT"VALIGN="TOP">File has <ICLASS="FIRSTTERM">read</I> permission</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">-h</TT></TD><TDALIGN="LEFT"VALIGN="TOP">File is a <ICLASS="FIRSTTERM">symbolic link</I></TD><TDALIGN="LEFT"VALIGN="TOP"> </TD><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">-w</TT></TD><TDALIGN="LEFT"VALIGN="TOP">File has <ICLASS="FIRSTTERM">write</I> permission</TD></TR
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -