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

📄 refcards.html

📁 一本完整的描述Unix Shell 编程的工具书的所有范例
💻 HTML
📖 第 1 页 / 共 2 页
字号:
ALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">${var:-DEFAULT}</TT></TD><TDALIGN="LEFT"VALIGN="TOP">If <TTCLASS="PARAMETER"><I>var</I></TT> not set or is empty,		evaluate expression as <TTCLASS="PARAMETER"><I>$DEFAULT</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><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><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">${var+OTHER}</TT></TD><TDALIGN="LEFT"VALIGN="TOP">If <TTCLASS="PARAMETER"><I>var</I></TT> set, evaluate expression as	        <TTCLASS="PARAMETER"><I>$OTHER</I></TT>, otherwise as null string</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">${var:+OTHER}</TT></TD><TDALIGN="LEFT"VALIGN="TOP">If <TTCLASS="PARAMETER"><I>var</I></TT> set, evaluate expression as	        <TTCLASS="PARAMETER"><I>$OTHER</I></TT>, otherwise as null string</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">${var?ERR_MSG}</TT></TD><TDALIGN="LEFT"VALIGN="TOP">If <TTCLASS="PARAMETER"><I>var</I></TT> not set, print	        <TTCLASS="PARAMETER"><I>$ERR_MSG</I></TT> *</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">${var:?ERR_MSG}</TT></TD><TDALIGN="LEFT"VALIGN="TOP">If <TTCLASS="PARAMETER"><I>var</I></TT> not set, print	        <TTCLASS="PARAMETER"><I>$ERR_MSG</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">${!varprefix*}</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Matches all previously declared variables beginning with	        <TTCLASS="PARAMETER"><I>varprefix</I></TT></TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">${!varprefix@}</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Matches all previously declared variables beginning with	        <TTCLASS="PARAMETER"><I>varprefix</I></TT></TD></TR></TBODY></TABLE><HR></DIV><P><BCLASS="COMMAND">*</B> Of course if <TTCLASS="PARAMETER"><I>var</I></TT>        <ICLASS="EMPHASIS">is</I> set, evaluate the expression as	<TTCLASS="PARAMETER"><I>$var</I></TT>.</P><DIVCLASS="TABLE"><HR><ANAME="AEN17163"></A><P><B>Table B-5. String Operations</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">${#string}</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Length of <TTCLASS="PARAMETER"><I>$string</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">${string:position}</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Extract substring from <TTCLASS="PARAMETER"><I>$string</I></TT>		at <TTCLASS="PARAMETER"><I>$position</I></TT></TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">${string:position:length}</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Extract <TTCLASS="PARAMETER"><I>$length</I></TT>		characters substring from <TTCLASS="PARAMETER"><I>$string</I></TT>		at <TTCLASS="PARAMETER"><I>$position</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">${string#substring}</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Strip shortest match of	      <TTCLASS="PARAMETER"><I>$substring</I></TT> from front of	      <TTCLASS="PARAMETER"><I>$string</I></TT></TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">${string##substring}</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Strip longest match of	      <TTCLASS="PARAMETER"><I>$substring</I></TT> from front of	      <TTCLASS="PARAMETER"><I>$string</I></TT></TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">${string%substring}</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Strip shortest match of	      <TTCLASS="PARAMETER"><I>$substring</I></TT> from back of	      <TTCLASS="PARAMETER"><I>$string</I></TT></TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">${string%%substring}</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Strip longest match of	      <TTCLASS="PARAMETER"><I>$substring</I></TT> from back of	      <TTCLASS="PARAMETER"><I>$string</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">${string/substring/replacement}</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Replace first match of	      <TTCLASS="PARAMETER"><I>$substring</I></TT> with	      <TTCLASS="PARAMETER"><I>$replacement</I></TT></TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">${string//substring/replacement}</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Replace <ICLASS="EMPHASIS">all</I> matches of	      <TTCLASS="PARAMETER"><I>$substring</I></TT> with	      <TTCLASS="PARAMETER"><I>$replacement</I></TT></TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">${string/#substring/replacement}</TT></TD><TDALIGN="LEFT"VALIGN="TOP">If <TTCLASS="PARAMETER"><I>$substring</I></TT>	      matches <ICLASS="EMPHASIS">front</I> end of	      <TTCLASS="PARAMETER"><I>$string</I></TT>, substitute	      <TTCLASS="PARAMETER"><I>$replacement</I></TT> for	      <TTCLASS="PARAMETER"><I>$substring</I></TT></TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">${string/%substring/replacement}</TT></TD><TDALIGN="LEFT"VALIGN="TOP">If <TTCLASS="PARAMETER"><I>$substring</I></TT>	      matches <ICLASS="EMPHASIS">back</I> end of	      <TTCLASS="PARAMETER"><I>$string</I></TT>, substitute	      <TTCLASS="PARAMETER"><I>$replacement</I></TT> for	      <TTCLASS="PARAMETER"><I>$substring</I></TT></TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">expr match "$string" '$substring'</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Length of matching <TTCLASS="PARAMETER"><I>$substring</I></TT>*	        at beginning of <TTCLASS="PARAMETER"><I>$string</I></TT></TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">expr "$string" : '$substring'</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Length of matching <TTCLASS="PARAMETER"><I>$substring</I></TT>*	        at beginning of <TTCLASS="PARAMETER"><I>$string</I></TT></TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">expr index "$string" $substring</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Numerical position in <TTCLASS="PARAMETER"><I>$string</I></TT>		of first character in <TTCLASS="PARAMETER"><I>$substring</I></TT>		that matches</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">expr substr $string $position	        $length</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Extract <TTCLASS="PARAMETER"><I>$length</I></TT> characters	        from <TTCLASS="PARAMETER"><I>$string</I></TT> starting at	        <TTCLASS="PARAMETER"><I>$position</I></TT></TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">expr match "$string"	        '\($substring\)'</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Extract <TTCLASS="PARAMETER"><I>$substring</I></TT>* at	        beginning of <TTCLASS="PARAMETER"><I>$string</I></TT></TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">expr "$string" :	        '\($substring\)'</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Extract <TTCLASS="PARAMETER"><I>$substring</I></TT>* at	        beginning of <TTCLASS="PARAMETER"><I>$string</I></TT></TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">expr match "$string"	        '.*\($substring\)'</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Extract <TTCLASS="PARAMETER"><I>$substring</I></TT>* at	        end of <TTCLASS="PARAMETER"><I>$string</I></TT></TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">expr "$string" :	        '.*\($substring\)'</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Extract <TTCLASS="PARAMETER"><I>$substring</I></TT>* at	        end of <TTCLASS="PARAMETER"><I>$string</I></TT></TD></TR></TBODY></TABLE><HR></DIV><P><BCLASS="COMMAND">*</B> Where <TTCLASS="PARAMETER"><I>$substring</I></TT> is a        <ICLASS="EMPHASIS">regular expression</I>.</P><DIVCLASS="TABLE"><HR><ANAME="AEN17312"></A><P><B>Table B-6. Miscellaneous Constructs</B></P><TABLEBORDER="1"CLASS="CALSTABLE"><THEAD><TR><THALIGN="LEFT"VALIGN="TOP">Expression</TH><THALIGN="LEFT"VALIGN="TOP">Interpretation</TH></TR></THEAD><TBODY><TR><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><ICLASS="EMPHASIS">Brackets</I></TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">if [ CONDITION ]</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Test construct</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">if [[ CONDITION ]]</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Extended test construct</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">Array[1]=element1</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Array initialization</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION"> [a-z]</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Range of characters within a <AHREF="regexp.html#REGEXREF">Regular Expression</A></TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><ICLASS="EMPHASIS">Curly Brackets</I></TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">${variable}</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Parameter substitution</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">${!variable}</TT></TD><TDALIGN="LEFT"VALIGN="TOP"><AHREF="ivr.html#IVRREF">Indirect variable reference</A></TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">{ command1; command2 }</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Block of code</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">{string1,string2,string3,...}</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Brace expansion</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><ICLASS="EMPHASIS">Parentheses</I></TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">( command1; command2 )</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Command group executed within a <AHREF="subshells.html#SUBSHELLSREF">subshell</A></TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">Array=(element1 element2 element3)</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Array initialization</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">result=$(COMMAND)</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Execute command in subshell and assign result to	        variable</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">&#62;(COMMAND)</TT></TD><TDALIGN="LEFT"VALIGN="TOP"><AHREF="process-sub.html#PROCESSSUBREF">Process substitution</A></TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">&#60;(COMMAND)</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Process substitution</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><ICLASS="EMPHASIS">Double Parentheses</I></TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">(( var = 78 ))</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Integer arithmetic</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">var=$(( 20 + 5 ))</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Integer arithmetic, with variable assignment</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><ICLASS="EMPHASIS">Quoting</I></TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">"$variable"</TT></TD><TDALIGN="LEFT"VALIGN="TOP">"Weak" quoting</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">'string'</TT></TD><TDALIGN="LEFT"VALIGN="TOP">"Strong" quoting</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><ICLASS="EMPHASIS">Back Quotes</I></TD><TDALIGN="LEFT"VALIGN="TOP">&nbsp;</TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"><TTCLASS="OPTION">result=`COMMAND`</TT></TD><TDALIGN="LEFT"VALIGN="TOP">Execute command in subshell and assign result to variable</TD></TR></TBODY></TABLE><HR></DIV></DIV><DIVCLASS="NAVFOOTER"><HRALIGN="LEFT"WIDTH="100%"><TABLEWIDTH="100%"BORDER="0"CELLPADDING="0"CELLSPACING="0"><TR><TDWIDTH="33%"ALIGN="left"VALIGN="top"><AHREF="contributed-scripts.html">Prev</A></TD><TDWIDTH="34%"ALIGN="center"VALIGN="top"><AHREF="index.html">Home</A></TD><TDWIDTH="33%"ALIGN="right"VALIGN="top"><AHREF="sedawk.html">Next</A></TD></TR><TR><TDWIDTH="33%"ALIGN="left"VALIGN="top">Contributed Scripts</TD><TDWIDTH="34%"ALIGN="center"VALIGN="top">&nbsp;</TD><TDWIDTH="33%"ALIGN="right"VALIGN="top">A Sed and Awk Micro-Primer</TD></TR></TABLE></DIV></BODY></HTML>

⌨️ 快捷键说明

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