⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 refcards.html

📁 一本完整的描述Unix Shell 编程的工具书的所有范例
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<!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.57"><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"><TABLEWIDTH="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">Prev</A></TD><TDWIDTH="80%"ALIGN="center"VALIGN="bottom"></TD><TDWIDTH="10%"ALIGN="right"VALIGN="bottom"><AHREF="sedawk.html">Next</A></TD></TR></TABLE><HRALIGN="LEFT"WIDTH="100%"></DIV><DIVCLASS="APPENDIX"><H1><ANAME="REFCARDS">Appendix B. Reference Cards</A></H1><P>The following reference cards provide a useful	<ICLASS="EMPHASIS">summary</I> of certain scripting concepts.	The foregoing text treats these matters in more depth and gives	usage examples.</P><DIVCLASS="TABLE"><HR><ANAME="AEN16755"></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">Name 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="EMPHASIS">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> <ICLASS="EMPHASIS">Must be quoted</I>,        otherwise it defaults to        <SPANCLASS="QUOTE">"<TTCLASS="VARNAME">$@</TT>"</SPAN>.</P><DIVCLASS="TABLE"><HR><ANAME="AEN16825"></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">&nbsp;</TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP">Arithmetic Comparison</TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD><TDALIGN="LEFT"VALIGN="TOP">String Comparison</TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">-eq</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Equal to</TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">=</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Equal to</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</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">&nbsp;</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">&nbsp;</TD><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">\&#60;</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">&nbsp;</TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD><TD>&nbsp;</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">-gt</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Greater than</TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">\&#62;</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">&nbsp;</TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD><TD>&nbsp;</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">-z</TT></TD><TDALIGN="LEFT"VALIGN="TOP">String is empty</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</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">&nbsp;</TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP">Arithmetic Comparison</TD><TDALIGN="LEFT"VALIGN="TOP">within double parentheses (( ... ))</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">&#62;</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Greater than</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">&#62;=</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Greater than or equal to</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">&#60;</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Less than</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">&#60;=</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Less than or equal to</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR></TBODY></TABLE><HR></DIV><P><BCLASS="COMMAND">*</B> <ICLASS="EMPHASIS">If within a        double-bracket</I> [[ ... ]] <ICLASS="EMPHASIS">test construct,        then no escape</I> \ <ICLASS="EMPHASIS">is        needed.</I></P><DIVCLASS="TABLE"><HR><ANAME="AEN16937"></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">&nbsp;</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="EMPHASIS">regular</I> file</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">-d</TT></TD><TDALIGN="LEFT"VALIGN="TOP">File is a <ICLASS="EMPHASIS">directory</I></TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">-r</TT></TD><TDALIGN="LEFT"VALIGN="TOP">File has <ICLASS="EMPHASIS">read</I>	         permission</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">-h</TT></TD><TDALIGN="LEFT"VALIGN="TOP">File is a <ICLASS="EMPHASIS">symbolic link</I></TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">-w</TT></TD><TDALIGN="LEFT"VALIGN="TOP">File has <ICLASS="EMPHASIS">write</I>	         permission</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">-L</TT></TD><TDALIGN="LEFT"VALIGN="TOP">File is a <ICLASS="EMPHASIS">symbolic link</I></TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">-x</TT></TD><TDALIGN="LEFT"VALIGN="TOP">File has <ICLASS="EMPHASIS">execute</I>	        permission</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">-b</TT></TD><TDALIGN="LEFT"VALIGN="TOP">File is a <ICLASS="EMPHASIS">block device</I></TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">-c</TT></TD><TDALIGN="LEFT"VALIGN="TOP">File is a <ICLASS="EMPHASIS">character device</I></TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">-g</TT></TD><TDALIGN="LEFT"VALIGN="TOP"><ICLASS="EMPHASIS">sgid</I> flag set</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">-p</TT></TD><TDALIGN="LEFT"VALIGN="TOP">File is a <ICLASS="EMPHASIS">pipe</I></TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">-u</TT></TD><TDALIGN="LEFT"VALIGN="TOP"><ICLASS="EMPHASIS">suid</I> flag set</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">-S</TT></TD><TDALIGN="LEFT"VALIGN="TOP">File is a <AHREF="devproc.html#SOCKETREF">socket</A></TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">-k</TT></TD><TDALIGN="LEFT"VALIGN="TOP"><SPANCLASS="QUOTE">"sticky bit"</SPAN> set</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">-t</TT></TD><TDALIGN="LEFT"VALIGN="TOP">File is associated with a	        <ICLASS="EMPHASIS">terminal</I></TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">-N</TT></TD><TDALIGN="LEFT"VALIGN="TOP">File modified since it was last read</TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">F1 -nt F2</TT></TD><TDALIGN="LEFT"VALIGN="TOP">File F1 is <ICLASS="EMPHASIS">newer</I> than F2 *</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">-O</TT></TD><TDALIGN="LEFT"VALIGN="TOP">You own the file</TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">F1 -ot F2</TT></TD><TDALIGN="LEFT"VALIGN="TOP">File F1 is <ICLASS="EMPHASIS">older</I> than F2 *</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">-G</TT></TD><TDALIGN="LEFT"VALIGN="TOP"><ICLASS="EMPHASIS">Group id</I> of file same as	        yours</TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">F1 -ef F2</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Files F1 and F2 are <ICLASS="EMPHASIS">hard links</I>	        to the same file *</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">!</TT></TD><TDALIGN="LEFT"VALIGN="TOP"><SPANCLASS="QUOTE">"NOT"</SPAN> (reverses sense of above	        tests)</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR></TBODY></TABLE><HR></DIV><P><BCLASS="COMMAND">*</B> <ICLASS="EMPHASIS">Binary</I> operator        (requires two operands).</P><DIVCLASS="TABLE"><HR><ANAME="AEN17071"></A><P><B>Table B-4. Parameter Substitution and Expansion</B></P><TABLEBORDER="1"CLASS="CALSTABLE"><THEAD><TR><THALIGN="LEFT"VALIGN="TOP">Expression</TH><THALIGN="LEFT"VALIGN="TOP">Meaning</TH></TR></THEAD><TBODY><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">${var}</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Value of <TTCLASS="PARAMETER"><I>var</I></TT>, same as	        <TTCLASS="PARAMETER"><I>$var</I></TT></TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">${var-DEFAULT}</TT></TD><TDALIGN="LEFT"VALIGN="TOP">If <TTCLASS="PARAMETER"><I>var</I></TT> not set, evaluate expression	        as <TTCLASS="PARAMETER"><I>$DEFAULT</I></TT> *</TD></TR><TR><TD

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -