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

📄 ch47_04.htm

📁 the unix power tools
💻 HTM
📖 第 1 页 / 共 2 页
字号:
COLSPAN="1"><PCLASS="para">Bitwise AND.</P></TD></TR><TRCLASS="row"VALIGN="TOP"><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">^</P></TD><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">Bitwise exclusive OR.</P></TD></TR><TRCLASS="row"VALIGN="TOP"><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">|</P></TD><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">Bitwise OR.</P></TD></TR><TRCLASS="row"VALIGN="TOP"><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">&amp;&amp;</P></TD><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">Logical AND.</P></TD></TR><TRCLASS="row"VALIGN="TOP"><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">||</P></TD><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">Logical OR.</P></TD></TR><TRCLASS="row"VALIGN="TOP"><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">{ <CODECLASS="replaceable"><I>cmd</I></CODE> }</P></TD><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">Return 1 if command <EMCLASS="emphasis">cmd</EM> is successful; 0 otherwise.Note that this is the opposite of <EMCLASS="emphasis">cmd</EM>'s normal return code.The <EMCLASS="emphasis">status</EM> variable may be more practical.</P></TD></TR></TBODY></TABLE></P></DIV><DIVCLASS="sect3"><H4CLASS="sect3"><ACLASS="title"NAME="UPT-ART-7650-SECT-1.3.4">47.4.3.4 Comparison Operators </A></H4><PCLASS="para"><ACLASS="indexterm"NAME="AUTOID-57067"></A><ACLASS="indexterm"NAME="AUTOID-57070"></A><ACLASS="indexterm"NAME="AUTOID-57073"></A><ACLASS="indexterm"NAME="AUTOID-57076"></A><ACLASS="indexterm"NAME="AUTOID-57079"></A><ACLASS="indexterm"NAME="AUTOID-57082"></A><ACLASS="indexterm"NAME="AUTOID-57085"></A><ACLASS="indexterm"NAME="AUTOID-57088"></A><ACLASS="indexterm"NAME="AUTOID-57091"></A><TABLECLASS="informaltable"><TBODYCLASS="tbody"><TRCLASS="row"VALIGN="TOP"><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">==  !=</P></TD><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">Equality; inequality.</P></TD></TR><TRCLASS="row"VALIGN="TOP"><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">&lt;=  &gt;=</P></TD><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">Less than or equal to; greater than or equal to.</P></TD></TR><TRCLASS="row"VALIGN="TOP"><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">&lt;  &gt;</P></TD><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">Less than; greater than.</P></TD></TR><TRCLASS="row"VALIGN="TOP"><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">=~</P></TD><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">String on left matches a filename pattern on the rightcontaining <CODECLASS="literal">*</CODE>, <CODECLASS="literal">?</CODE>, or <CODECLASS="literal">[</CODE>...<CODECLASS="literal">]</CODE>.</P></TD></TR><TRCLASS="row"VALIGN="TOP"><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">!~</P></TD><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">String on left does not match a filename patterncontaining <CODECLASS="literal">*</CODE>, <CODECLASS="literal">?</CODE>, or <CODECLASS="literal">[</CODE>...<CODECLASS="literal">]</CODE>.</P></TD></TR></TBODY></TABLE></P></DIV><DIVCLASS="sect3"><H4CLASS="sect3"><ACLASS="title"NAME="UPT-ART-7650-SECT-1.3.5">47.4.3.5 File Inquiry Operators </A></H4><PCLASS="para"><ACLASS="indexterm"NAME="AUTOID-57133"></A>Command substitution and filename expansion are performed on<EMCLASS="emphasis">file</EM> before the test is performed.<ACLASS="indexterm"NAME="AUTOID-57137"></A><TABLECLASS="informaltable"><TBODYCLASS="tbody"><TRCLASS="row"VALIGN="TOP"><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">-d <CODECLASS="replaceable"><I>file</I></CODE></P></TD><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">The file is a directory.</P></TD></TR><TRCLASS="row"VALIGN="TOP"><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">-e <CODECLASS="replaceable"><I>file</I></CODE></P></TD><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">The file exists.</P></TD></TR><TRCLASS="row"VALIGN="TOP"><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">-f <CODECLASS="replaceable"><I>file</I></CODE></P></TD><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">The file is a plain file.</P></TD></TR><TRCLASS="row"VALIGN="TOP"><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">-o <CODECLASS="replaceable"><I>file</I></CODE></P></TD><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">The user owns the file.</P></TD></TR><TRCLASS="row"VALIGN="TOP"><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">-r <CODECLASS="replaceable"><I>file</I></CODE></P></TD><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">The user has read permission.</P></TD></TR><TRCLASS="row"VALIGN="TOP"><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">-w <CODECLASS="replaceable"><I>file</I></CODE></P></TD><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">The user has write permission.</P></TD></TR><TRCLASS="row"VALIGN="TOP"><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">-x <CODECLASS="replaceable"><I>file</I></CODE></P></TD><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">The user has execute permission.</P></TD></TR><TRCLASS="row"VALIGN="TOP"><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">-z <CODECLASS="replaceable"><I>file</I></CODE></P></TD><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">The file has zero size.</P></TD></TR><TRCLASS="row"VALIGN="TOP"><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">!</P></TD><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">Reverse the sense of any of the above inquiries.</P></TD></TR></TBODY></TABLE></P></DIV></DIV><DIVCLASS="sect2"><H3CLASS="sect2"><ACLASS="title"NAME="UPT-ART-7650-SECT-1.4">47.4.4 Examples</A></H3><PCLASS="para"><ACLASS="indexterm"NAME="AUTOID-57198"></A><ACLASS="indexterm"NAME="AUTOID-57200"></A><ACLASS="indexterm"NAME="AUTOID-57203"></A>The following examples show <CODECLASS="literal">@</CODE> commands and assume<EMCLASS="emphasis">n</EM> = 4:<TABLECLASS="informaltable"><THEADCLASS="thead"><TRCLASS="row"VALIGN="TOP"><THCLASS="entry"ALIGN="LEFT"ROWSPAN="1"COLSPAN="1">Expression</TH><THCLASS="entry"ALIGN="LEFT"ROWSPAN="1"COLSPAN="1">Value of $x</TH></TR></THEAD><TBODYCLASS="tbody"><TRCLASS="row"VALIGN="TOP"><TDCLASS="entry"ROWSPAN="1"COLSPAN="1">@ x = ($n &gt; 10 || $n &lt; 5)</TD><TDCLASS="entry"ROWSPAN="1"COLSPAN="1">1</TD></TR><TRCLASS="row"VALIGN="TOP"><TDCLASS="entry"ROWSPAN="1"COLSPAN="1">@ x = ($n &gt;= 0 &amp;&amp; $n &lt; 3)</TD><TDCLASS="entry"ROWSPAN="1"COLSPAN="1">0</TD></TR><TRCLASS="row"VALIGN="TOP"><TDCLASS="entry"ROWSPAN="1"COLSPAN="1">@ x = ($n &lt;&lt; 2)</TD><TDCLASS="entry"ROWSPAN="1"COLSPAN="1">16</TD></TR><TRCLASS="row"VALIGN="TOP"><TDCLASS="entry"ROWSPAN="1"COLSPAN="1">@ x = ($n &gt;&gt; 2)</TD><TDCLASS="entry"ROWSPAN="1"COLSPAN="1">1</TD></TR><TRCLASS="row"VALIGN="TOP"><TDCLASS="entry"ROWSPAN="1"COLSPAN="1">@ x = $n % 2</TD><TDCLASS="entry"ROWSPAN="1"COLSPAN="1">0</TD></TR><TRCLASS="row"VALIGN="TOP"><TDCLASS="entry"ROWSPAN="1"COLSPAN="1">@ x = $n % 3</TD><TDCLASS="entry"ROWSPAN="1"COLSPAN="1">1</TD></TR></TBODY></TABLE></P><PCLASS="para">The following examples show the first line of <EMCLASS="emphasis">if</EM> or<EMCLASS="emphasis">while</EM> statements:<TABLECLASS="informaltable"><THEADCLASS="thead"><TRCLASS="row"VALIGN="TOP"><THCLASS="entry"ALIGN="LEFT"ROWSPAN="1"COLSPAN="1"><PCLASS="para">Expression</P></TH><THCLASS="entry"ALIGN="LEFT"ROWSPAN="1"COLSPAN="1"><PCLASS="para">Meaning</P></TH></TR></THEAD><TBODYCLASS="tbody"><TRCLASS="row"VALIGN="TOP"><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">while ($#argv != 0)</P></TD><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">While there are command-line (<EMCLASS="emphasis">argv</EM>) arguments ...</P></TD></TR><TRCLASS="row"VALIGN="TOP"><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">if ($today[1] == Fri)</P></TD><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">If the first word is <EMCLASS="emphasis">Fri</EM>...</P></TD></TR><TRCLASS="row"VALIGN="TOP"><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">if ($file !~ *.[zZ])</P></TD><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">If the file doesn't end with <EMCLASS="emphasis">.z</EM> or <EMCLASS="emphasis">.Z</EM> ...</P></TD></TR><TRCLASS="row"VALIGN="TOP"><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">if ($argv[1] =~ chap?)</P></TD><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">If the first argument is <EMCLASS="emphasis">chap</EM> followed by a single character...</P></TD></TR><TRCLASS="row"VALIGN="TOP"><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">if (-f $argv[1])</P></TD><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">If the first argument is a plain file...</P></TD></TR><TRCLASS="row"VALIGN="TOP"><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">if (! -d $tmpdir)</P></TD><TDCLASS="entry"ROWSPAN="1"COLSPAN="1"><PCLASS="para">If <EMCLASS="emphasis">tmpdir</EM> is not a directory...</P></TD></TR></TBODY></TABLE><ACLASS="indexterm"NAME="AUTOID-57281"></A><ACLASS="indexterm"NAME="AUTOID-57284"></A><ACLASS="indexterm"NAME="AUTOID-57287"></A><ACLASS="indexterm"NAME="AUTOID-57290"></A><ACLASS="indexterm"NAME="AUTOID-57293"></A><ACLASS="indexterm"NAME="AUTOID-57296"></A><ACLASS="indexterm"NAME="AUTOID-57299"></A><ACLASS="indexterm"NAME="AUTOID-57302"></A><ACLASS="indexterm"NAME="AUTOID-57305"></A><ACLASS="indexterm"NAME="AUTOID-57308"></A><ACLASS="indexterm"NAME="AUTOID-57311"></A><ACLASS="indexterm"NAME="AUTOID-57314"></A><ACLASS="indexterm"NAME="AUTOID-57317"></A><ACLASS="indexterm"NAME="AUTOID-57320"></A><ACLASS="indexterm"NAME="AUTOID-57323"></A><ACLASS="indexterm"NAME="AUTOID-57326"></A><ACLASS="indexterm"NAME="AUTOID-57329"></A><ACLASS="indexterm"NAME="AUTOID-57332"></A><ACLASS="indexterm"NAME="AUTOID-57335"></A><ACLASS="indexterm"NAME="AUTOID-57338"></A><ACLASS="indexterm"NAME="AUTOID-57341"></A><ACLASS="indexterm"NAME="AUTOID-57344"></A><ACLASS="indexterm"NAME="AUTOID-57347"></A><ACLASS="indexterm"NAME="AUTOID-57350"></A></P></DIV><DIVCLASS="sect1info"><PCLASS="SECT1INFO">- <SPANCLASS="authorinitials">DG</SPAN> <SPANCLASS="bibliomisc">from O'Reilly &amp; Associates' <CITECLASS="citetitle">UNIX in a Nutshell (SVR4/Solaris)</CITE></SPAN></P></DIV></DIV><DIVCLASS="htmlnav"><P></P><HRALIGN="LEFT"WIDTH="515"TITLE="footer"><TABLEWIDTH="515"BORDER="0"CELLSPACING="0"CELLPADDING="0"><TR><TDALIGN="LEFT"VALIGN="TOP"WIDTH="172"><ACLASS="SECT1"HREF="ch47_03.htm"TITLE="47.3 Conditional Statements with if "><IMGSRC="gifs/txtpreva.gif"SRC="gifs/txtpreva.gif"ALT="Previous: 47.3 Conditional Statements with if "BORDER="0"></A></TD><TDALIGN="CENTER"VALIGN="TOP"WIDTH="171"><ACLASS="book"HREF="index.htm"TITLE="UNIX Power Tools"><IMGSRC="gifs/txthome.gif"SRC="gifs/txthome.gif"ALT="UNIX Power Tools"BORDER="0"></A></TD><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="172"><ACLASS="SECT1"HREF="ch47_05.htm"TITLE="47.5 Using C Shell Arrays "><IMGSRC="gifs/txtnexta.gif"SRC="gifs/txtnexta.gif"ALT="Next: 47.5 Using C Shell Arrays "BORDER="0"></A></TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"WIDTH="172">47.3 Conditional Statements with if </TD><TDALIGN="CENTER"VALIGN="TOP"WIDTH="171"><ACLASS="index"HREF="index/idx_0.htm"TITLE="Book Index"><IMGSRC="gifs/index.gif"SRC="gifs/index.gif"ALT="Book Index"BORDER="0"></A></TD><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="172">47.5 Using C Shell Arrays </TD></TR></TABLE><HRALIGN="LEFT"WIDTH="515"TITLE="footer"><IMGSRC="gifs/smnavbar.gif"SRC="gifs/smnavbar.gif"USEMAP="#map"BORDER="0"ALT="The UNIX CD Bookshelf Navigation"><MAPNAME="map"><AREASHAPE="RECT"COORDS="0,0,73,21"HREF="../index.htm"ALT="The UNIX CD Bookshelf"><AREASHAPE="RECT"COORDS="74,0,163,21"HREF="index.htm"ALT="UNIX Power Tools"><AREASHAPE="RECT"COORDS="164,0,257,21"HREF="../unixnut/index.htm"ALT="UNIX in a Nutshell"><AREASHAPE="RECT"COORDS="258,0,321,21"HREF="../vi/index.htm"ALT="Learning the vi Editor"><AREASHAPE="RECT"COORDS="322,0,378,21"HREF="../sedawk/index.htm"ALT="sed &amp; awk"><AREASHAPE="RECT"COORDS="379,0,438,21"HREF="../ksh/index.htm"ALT="Learning the Korn Shell"><AREASHAPE="RECT"COORDS="439,0,514,21"HREF="../lrnunix/index.htm"ALT="Learning the UNIX Operating System"></MAP></DIV></BODY></HTML>

⌨️ 快捷键说明

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