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

📄 ch06_09.htm

📁 the unix power tools
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<HTML><!--Distributed by F --><HEAD><TITLE>[Chapter 6] 6.9 Special C Shell Variables </TITLE><METANAME="DC.title"CONTENT="UNIX Power Tools"><METANAME="DC.creator"CONTENT="Jerry Peek, Tim O'Reilly &amp; Mike Loukides"><METANAME="DC.publisher"CONTENT="O'Reilly &amp; Associates, Inc."><METANAME="DC.date"CONTENT="1998-10-23T15:38:07Z"><METANAME="DC.type"CONTENT="Text.Monograph"><METANAME="DC.format"CONTENT="text/html"SCHEME="MIME"><METANAME="DC.source"CONTENT="1-56592-260-3"SCHEME="ISBN"><METANAME="DC.language"CONTENT="en-US"><METANAME="generator"CONTENT="Jade 1.1/O'Reilly DocBook 3.0 to HTML 4.0"><LINKREV="made"HREF="mailto:online-books@oreilly.com"TITLE="Online Books Comments"><LINKREL="up"HREF="ch06_01.htm"TITLE="6. Shell and Environment Variables"><LINKREL="prev"HREF="ch06_08.htm"TITLE="6.8 Shell Variables "><LINKREL="next"HREF="ch06_10.htm"TITLE="6.10 Running a Command with a Temporarily Different Environment "></HEAD><BODYBGCOLOR="#FFFFFF"TEXT="#000000"><DIVCLASS="htmlnav"><H1><IMGSRC="gifs/smbanner.gif"ALT="UNIX Power Tools"USEMAP="#srchmap"BORDER="0"></H1><MAPNAME="srchmap"><AREASHAPE="RECT"COORDS="0,0,466,58"HREF="index.htm"ALT="UNIX Power Tools"><AREASHAPE="RECT"COORDS="467,0,514,18"HREF="jobjects/fsearch.htm"ALT="Search this book"></MAP><TABLEWIDTH="515"BORDER="0"CELLSPACING="0"CELLPADDING="0"><TR><TDALIGN="LEFT"VALIGN="TOP"WIDTH="172"><ACLASS="SECT1"HREF="ch06_08.htm"TITLE="6.8 Shell Variables "><IMGSRC="gifs/txtpreva.gif"SRC="gifs/txtpreva.gif"ALT="Previous: 6.8 Shell Variables "BORDER="0"></A></TD><TDALIGN="CENTER"VALIGN="TOP"WIDTH="171"><B><FONTFACE="ARIEL,HELVETICA,HELV,SANSERIF"SIZE="-1">Chapter 6<BR>Shell and Environment Variables</FONT></B></TD><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="172"><ACLASS="SECT1"HREF="ch06_10.htm"TITLE="6.10 Running a Command with a Temporarily Different Environment "><IMGSRC="gifs/txtnexta.gif"SRC="gifs/txtnexta.gif"ALT="Next: 6.10 Running a Command with a Temporarily Different Environment "BORDER="0"></A></TD></TR></TABLE>&nbsp;<HRALIGN="LEFT"WIDTH="515"TITLE="footer"></DIV><DIVCLASS="SECT1"><H2CLASS="sect1"><ACLASS="title"NAME="UPT-ART-6700">6.9 Special C Shell Variables </A></H2><PCLASS="para">[Sorry, no articles about <ICLASS="filename">bash</I> and <ICLASS="filename">tcsh</I> variables.This book focuses on the &quot;base&quot; shells, <ICLASS="filename">sh</I> and <ICLASS="filename">csh</I>.<ICLASS="filename">csh</I> variables work in <ICLASS="filename">tcsh</I>, and many work (in slightlydifferent forms) with <ICLASS="filename">bash</I> too.For a complete list, check your <ICLASS="filename">bash</I> or <ICLASS="filename">tcsh</I> manpage. -JP]</P><PCLASS="para"><ACLASS="indexterm"NAME="AUTOID-6326"></A>The C shell recognizes and uses environment variables, but it alsouses a great many simple <SPANCLASS="link">shell variables (<ACLASS="linkend"HREF="ch06_08.htm"TITLE="Shell Variables ">6.8</A>)</SPAN>to control its own operation. These variables don't need to be putinto the environment so they can be passed to<SPANCLASS="link">subshells (<ACLASS="linkend"HREF="ch38_04.htm"TITLE="Subshells ">38.4</A>)</SPAN>,because everyinstance of the C shell always reads the<SPANCLASS="link"><EMCLASS="emphasis">.cshrc</EM> file (<ACLASS="linkend"HREF="ch02_02.htm"TITLE="Shell Setup Files-Which, Where, and Why ">2.2</A>)</SPAN>.Simple shell variables set there are thus propagated to every Cshell.</P><PCLASS="para">Many of the special C shell variables are simply used as flags; that is, theyneed not be set to any particular value. The shell simply testswhether they exist or not. They are set simply by saying:</P><PCLASS="para"><BLOCKQUOTECLASS="screen"><PRECLASS="screen">set <CODECLASS="replaceable"><I>variable</I></CODE></PRE></BLOCKQUOTE></P><PCLASS="para">rather than:</P><PCLASS="para"><BLOCKQUOTECLASS="screen"><PRECLASS="screen">set <CODECLASS="replaceable"><I>variable</I></CODE>=<CODECLASS="replaceable"><I>value</I></CODE></PRE></BLOCKQUOTE></P><PCLASS="para">&#13;Here are some of the special variable names used by the C shell:</P><ULCLASS="itemizedlist"><LICLASS="listitem"><PCLASS="para">The <SPANCLASS="link"><EMCLASS="emphasis">cdpath</EM> (<ACLASS="linkend"HREF="ch14_05.htm"TITLE="Saving Time When You Change Directories: cdpath ">14.5</A>)</SPAN><ACLASS="indexterm"NAME="AUTOID-6348"></A>variable stores a list of directories.You can <EMCLASS="emphasis">cd</EM> to subdirectories of these by typing just the subdirectoryname.&#13;</P></LI><LICLASS="listitem"><PCLASS="para"><ACLASS="indexterm"NAME="AUTOID-6353"></A>If the<SPANCLASS="link"><EMCLASS="emphasis">echo</EM> (<ACLASS="linkend"HREF="ch08_17.htm"TITLE="verbose and echo Variables Show Quoting ">8.17</A>)</SPAN>variable is set, the shell will show the commandline, after all variable and <SPANCLASS="link">history (<ACLASS="linkend"HREF="ch11_07.htm"TITLE="History Substitutions ">11.7</A>)</SPAN>substitutions, before executingit. (This is very handy for debugging scripts such as <EMCLASS="emphasis">.cshrc</EM>.)</P><PCLASS="para"><ACLASS="indexterm"NAME="AUTOID-6360"></A>If the<SPANCLASS="link"><EMCLASS="emphasis">verbose</EM> (<ACLASS="linkend"HREF="ch08_17.htm"TITLE="verbose and echo Variables Show Quoting ">8.17</A>)</SPAN>variable is set, the shell will show the commandline after history substitution but before any other substitutions.</P><PCLASS="para"><ACLASS="indexterm"NAME="AUTOID-6365"></A><ACLASS="indexterm"NAME="AUTOID-6368"></A>The Bourne shell <SPANCLASS="link"><EMCLASS="emphasis">-v</EM> and <EMCLASS="emphasis">-x</EM> options (<ACLASS="linkend"HREF="ch46_01.htm#UPT-ART-7160"TITLE="Tips for Debugging Shell Scripts ">46.1</A>)</SPAN>work like the <EMCLASS="emphasis">verbose</EM> and <EMCLASS="emphasis">echo</EM> variables.</P></LI><LICLASS="listitem"><PCLASS="para"><ACLASS="indexterm"NAME="AUTOID-6378"></A><ACLASS="indexterm"NAME="AUTOID-6380"></A>If the <EMCLASS="emphasis">filec</EM> or <EMCLASS="emphasis">complete</EM> variable is set, the shell performs <SPANCLASS="link">filename completion (<ACLASS="linkend"HREF="ch09_08.htm"TITLE="Filename Completion: Faster Filename Typing ">9.8</A>)</SPAN>.The <SPANCLASS="link"><EMCLASS="emphasis">fignore</EM> (<ACLASS="linkend"HREF="ch09_09.htm"TITLE="Don't Match Useless Files in Filename Completion ">9.9</A>)</SPAN><ACLASS="indexterm"NAME="AUTOID-6387"></A>variable makes filename completion skip filenames that endwith certain characters like <EMCLASS="emphasis">.o</EM>.</P></LI><LICLASS="listitem"><PCLASS="para">The <SPANCLASS="link"><EMCLASS="emphasis">cwd</EM> (<ACLASS="linkend"HREF="ch14_13.htm"TITLE="Which Directory Am I in, Really? ">14.13</A>)</SPAN><ACLASS="indexterm"NAME="AUTOID-6394"></A>variable shows the absolute pathname of the current directory.The <EMCLASS="emphasis">cd</EM>, <EMCLASS="emphasis">pushd</EM>, and <EMCLASS="emphasis">popd</EM> commands set it.</P></LI><LICLASS="listitem"><PCLASS="para">The <ACLASS="indexterm"NAME="AUTOID-6401"></A><SPANCLASS="link"><EMCLASS="emphasis">hardpaths</EM> (<ACLASS="linkend"HREF="ch14_13.htm"TITLE="Which Directory Am I in, Really? ">14.13</A>)</SPAN>variable fixes errors in the <EMCLASS="emphasis">cwd</EM> variable that occur whenyou <EMCLASS="emphasis">cd</EM> through symbolic links.</P></LI><LICLASS="listitem"><PCLASS="para">Use the <ACLASS="indexterm"NAME="AUTOID-6409"></A><SPANCLASS="link"><EMCLASS="emphasis">histchars</EM> (<ACLASS="linkend"HREF="ch11_15.htm"TITLE="Changing C Shell History Characters with histchars ">11.15</A>)</SPAN>variable to set different history characters thanexclamation point (<CODECLASS="literal">!</CODE>) and caret (<CODECLASS="literal">^</CODE>).</P></LI><LICLASS="listitem"><PCLASS="para">The <ACLASS="indexterm"NAME="AUTOID-6417"></A><SPANCLASS="link"><EMCLASS="emphasis">history</EM> (<ACLASS="linkend"HREF="ch11_01.htm#UPT-ART-4920"TITLE="The Lessons of History ">11.1</A>)</SPAN>variable stores the number of shell command lines to save.The <SPANCLASS="link"><EM

⌨️ 快捷键说明

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