<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<meta name="generator" content="pdf2htmlEX">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<link rel="stylesheet" href="https://static.pudn.com/base/css/base.min.css">
<link rel="stylesheet" href="https://static.pudn.com/base/css/fancy.min.css">
<link rel="stylesheet" href="https://static.pudn.com/prod/directory_preview_static/6244d2356cd7507199bb7c8a/raw.css">
<script src="https://static.pudn.com/base/js/compatibility.min.js"></script>
<script src="https://static.pudn.com/base/js/pdf2htmlEX.min.js"></script>
<script>
try{
pdf2htmlEX.defaultViewer = new pdf2htmlEX.Viewer({});
}catch(e){}
</script>
<title></title>
</head>
<body>
<div id="sidebar" style="display: none">
<div id="outline">
</div>
</div>
<div id="pf1" class="pf w0 h0" data-page-no="1"><div class="pc pc1 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/6244d2356cd7507199bb7c8a/bg1.jpg"><div class="c x0 y1 w2 h2"><div class="t m0 x1 h3 y2 ff1 fs0 fc0 sc0 ls0 ws0">1<span class="_ _0"> </span>shell<span class="_ _1"> </span><span class="ff2 sc1">程序编写</span></div><div class="t m0 x1 h4 y3 ff3 fs1 fc0 sc0 ls0 ws0">1.1<span class="_ _2"> </span> *Shell<span class="_ _3"> </span><span class="ff2 sc1">是什么</span>?</div><div class="t m0 x1 h5 y4 ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _4"></span> <span class="_ _4"></span>任<span class="_ _4"></span>何<span class="_ _4"></span>发<span class="_ _4"></span>明<span class="_ _5"></span>都<span class="_ _4"></span>具<span class="_ _5"></span>有<span class="_ _4"></span>供<span class="_ _4"></span>用<span class="_ _4"></span>户<span class="_ _4"></span>使<span class="_ _4"></span>用<span class="_ _5"></span>的<span class="_ _4"></span>界<span class="_ _4"></span>面<span class="_ _4"></span>。<span class="_ _6"> </span><span class="ff4">UNIX<span class="_ _3"> </span></span>供<span class="_ _5"></span>用<span class="_ _4"></span>户<span class="_ _4"></span>使<span class="_ _4"></span>用<span class="_ _4"></span>的<span class="_ _5"></span>界<span class="_ _4"></span>面<span class="_ _4"></span>就<span class="_ _4"></span>是<span class="_ _3"> </span><span class="ff4">She<span class="_ _7"></span>ll(DOS<span class="_ _3"> </span></span>的</div><div class="t m0 x1 h5 y5 ff4 fs2 fc0 sc0 ls0 ws0">command<span class="_ _8"> </span><span class="ff2">熟悉<span class="_ _7"></span>吧<span class="_ _7"></span>,但<span class="_ _9"> </span></span>UNIX<span class="_ _8"> </span><span class="ff2">的要<span class="_ _7"></span>强大<span class="_ _7"></span>的<span class="_ _7"></span>多<span class="_ _7"></span></span>)<span class="_ _7"></span><span class="ff2">。<span class="_ _7"></span></span> Shell<span class="_"> </span><span class="ff2">为用<span class="_ _7"></span>户提<span class="_ _7"></span>供<span class="_ _7"></span>了输<span class="_ _7"></span>入<span class="_ _7"></span>命<span class="_ _7"></span>令和<span class="_ _7"></span>参<span class="_ _7"></span>数并<span class="_ _7"></span>可<span class="_ _7"></span>得<span class="_ _7"></span>到</span></div><div class="t m0 x1 h5 y6 ff2 fs2 fc0 sc0 ls0 ws0">命令执行结果的环境。<span class="ff4"> </span></div><div class="t m0 x1 h5 y7 ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _8"> </span> <span class="_ _6"> </span>为<span class="_ _8"> </span>了<span class="_ _a"> </span>不<span class="_ _a"> </span>同<span class="_ _a"> </span>的<span class="_ _a"> </span>需<span class="_ _8"> </span>要<span class="_ _a"> </span>,<span class="_ _9"> </span><span class="ff4">UNIX<span class="_ _b"> </span></span>提<span class="_ _a"> </span>供<span class="_ _a"> </span>了<span class="_ _a"> </span>不<span class="_ _8"> </span>同<span class="_ _a"> </span>的<span class="_ _1"> </span><span class="ff4">Shell<span class="_ _a"> </span></span>。<span class="_ _a"> </span>现<span class="_ _8"> </span>在<span class="_ _a"> </span>的<span class="_ _1"> </span><span class="ff4">UNIX<span class="_ _b"> </span></span>大<span class="_ _a"> </span>部<span class="_ _a"> </span>分<span class="_ _a"> </span>都<span class="_ _8"> </span>支<span class="_ _a"> </span>持</div><div class="t m0 x1 h5 y8 ff4 fs2 fc0 sc0 ls0 ws0">BourneShell<span class="_ _7"></span><span class="ff2">,<span class="_ _7"></span>以<span class="_ _5"></span>下教<span class="_ _7"></span>程<span class="_ _5"></span>就以<span class="_ _9"> </span></span>BourneShell(Bsh)<span class="_ _5"></span><span class="ff2">为例<span class="_ _5"></span>,一<span class="_ _7"></span>步<span class="_ _7"></span>步<span class="_ _5"></span>的领<span class="_ _c"></span>略<span class="_ _9"> </span></span>UNIX<span class="_ _7"></span> She<span class="_ _7"></span>ll<span class="_"> </span><span class="ff2">的强<span class="_ _c"></span>大<span class="_ _7"></span>功<span class="_ _7"></span>能<span class="_ _c"></span>,</span></div><div class="t m0 x1 h5 y9 ff2 fs2 fc0 sc0 ls0 ws0">占先其强大魅力,达到更方便灵活的管理、应用<span class="_ _a"> </span><span class="ff4">UNIX<span class="_ _a"> </span></span>的目的。<span class="ff4"> </span></div><div class="t m0 x1 h4 ya ff1 fs1 fc0 sc0 ls0 ws0">1.1.1<span class="_"> </span>UNIX<span class="_ _3"> </span><span class="ff2 sc1">内核和<span class="_ _3"> </span></span>Shell<span class="_ _3"> </span><span class="ff2 sc1">的交互方法</span> </div><div class="t m0 x1 h5 yb ff2 fs2 fc0 sc0 ls0 ws0">  启动<span class="_ _8"> </span><span class="ff4">UNIX<span class="_ _a"> </span></span>时<span class="_ _7"></span>,程序<span class="_ _8"> </span><span class="ff4">UNIX(</span>内核<span class="_ _7"></span><span class="ff4">)</span>将被调入计<span class="_ _7"></span>算机内存,并<span class="_ _7"></span>一直保留在内<span class="_ _7"></span>存中直到机器</div><div class="t m0 x1 h5 yc ff2 fs2 fc0 sc0 ls0 ws0">关<span class="_ _6"> </span>闭<span class="_ _4"></span>。<span class="_ _6"> </span>在<span class="_ _4"></span>引<span class="_ _6"> </span>导<span class="_ _d"> </span>过<span class="_ _d"> </span>程<span class="_ _d"> </span>中<span class="_ _d"> </span>,<span class="_ _d"> </span>程<span class="_ _d"> </span>序<span class="_ _a"> </span><span class="ff4"> <span class="_ _d"> </span>init<span class="_ _e"> </span></span>将<span class="_ _d"> </span>进<span class="_ _d"> </span>入<span class="_ _d"> </span>后<span class="_ _d"> </span>台<span class="_ _d"> </span>运<span class="_ _d"> </span>行<span class="_ _6"> </span>一<span class="_ _d"> </span>直<span class="_ _d"> </span>到<span class="_ _d"> </span>机<span class="_ _d"> </span>器<span class="_ _d"> </span>关<span class="_ _d"> </span>闭<span class="_ _d"> </span>。<span class="_ _6"> </span>该<span class="_ _d"> </span>程<span class="_ _d"> </span>序<span class="_ _d"> </span>查<span class="_ _d"> </span>询<span class="_ _d"> </span>文</div><div class="t m0 x1 h5 yd ff2 fs2 fc0 sc0 ls0 ws0">件<span class="_ _c"></span><span class="ff4">/etc/in<span class="_ _7"></span>ittab<span class="_ _c"></span></span>,<span class="_ _5"></span>该<span class="_ _5"></span>文<span class="_ _c"></span>件<span class="_ _5"></span>列<span class="_ _5"></span>出<span class="_ _c"></span>了<span class="_ _5"></span>连<span class="_ _5"></span>接<span class="_ _c"></span>终<span class="_ _5"></span>端<span class="_ _5"></span>的<span class="_ _c"></span>各<span class="_ _5"></span>个<span class="_ _5"></span>端<span class="_ _c"></span>口<span class="_ _5"></span>及<span class="_ _5"></span>其<span class="_ _c"></span>特<span class="_ _5"></span>征<span class="_ _5"></span>。<span class="_ _c"></span>当<span class="_ _5"></span>发<span class="_ _5"></span>现<span class="_ _c"></span>一<span class="_ _5"></span>个<span class="_ _5"></span>活<span class="_ _c"></span>动<span class="_ _5"></span>的<span class="_ _5"></span>终<span class="_ _c"></span>端<span class="_ _5"></span>时<span class="_ _4"></span>,</div><div class="t m0 x1 h5 ye ff4 fs2 fc0 sc0 ls0 ws0">init<span class="_ _a"> </span><span class="ff2">程<span class="_ _7"></span>序调用<span class="_ _8"> </span></span>getty<span class="_"> </span><span class="ff2">程序在终端<span class="_ _7"></span>上显示<span class="_ _8"> </span></span>login<span class="_"> </span><span class="ff2">等登陆信息<span class="_ _7"></span>。<span class="_ _7"></span></span>(username<span class="_ _a"> </span><span class="ff2">和<span class="_ _8"> </span></span>passwd)<span class="ff2">,在<span class="_ _7"></span>输入<span class="_ _7"></span>密码</span></div><div class="t m0 x1 h5 yf ff2 fs2 fc0 sc0 ls0 ws0">后<span class="_ _7"></span>,<span class="ff4"> <span class="_ _7"></span>g<span class="_ _7"></span>etty<span class="_"> </span></span>调用<span class="_ _8"> </span><span class="ff4">login<span class="_"> </span></span>进程,<span class="_ _c"></span>该进<span class="_ _7"></span>程<span class="_ _7"></span>根<span class="_ _7"></span>据<span class="_ _7"></span>文<span class="_ _7"></span>件<span class="_ _7"></span><span class="ff4">/e<span class="_ _7"></span>tc/passwd<span class="_ _8"> </span></span>的<span class="_ _7"></span>内容<span class="_ _7"></span>来<span class="_ _7"></span>验<span class="_ _7"></span>证<span class="_ _7"></span>用<span class="_ _7"></span>户<span class="_ _7"></span>的<span class="_ _7"></span>身<span class="_ _7"></span>份<span class="_ _7"></span>。若<span class="_ _7"></span>用<span class="_ _7"></span>户</div><div class="t m0 x1 h5 y10 ff2 fs2 fc0 sc0 ls0 ws0">通<span class="_ _7"></span>过<span class="_ _7"></span>身<span class="_ _7"></span>份<span class="_ _7"></span>验<span class="_ _7"></span>证<span class="_ _7"></span>,<span class="_ _5"></span><span class="ff4">login<span class="_"> </span></span>进程<span class="_ _c"></span><span class="ff4"> <span class="_ _7"></span></span>把<span class="_ _7"></span>用<span class="_ _7"></span>户<span class="_ _7"></span>的<span class="_ _9"> </span><span class="ff4">home<span class="_"> </span></span>目录<span class="_ _7"></span>设<span class="_ _7"></span>置<span class="_ _7"></span>成<span class="_ _7"></span>当<span class="_ _7"></span>前<span class="_ _7"></span>目<span class="_ _c"></span>录<span class="_ _7"></span>并<span class="_ _7"></span>把<span class="_ _7"></span>控<span class="_ _7"></span>制<span class="_ _7"></span>交<span class="_ _7"></span>给<span class="_ _7"></span>一<span class="_ _7"></span>系<span class="_ _7"></span>列<span class="_ _e"> </span><span class="ff4">setup</span></div><div class="t m0 x1 h5 y11 ff2 fs2 fc0 sc0 ls0 ws0">程序<span class="_ _7"></span>。<span class="_ _7"></span><span class="ff4">setup<span class="_"> </span></span>程序<span class="_ _7"></span>可以<span class="_ _7"></span>是<span class="_ _7"></span>指定<span class="_ _7"></span>的<span class="_ _7"></span>应<span class="_ _7"></span>用程<span class="_ _7"></span>序<span class="_ _7"></span>,通<span class="_ _7"></span>常<span class="_ _3"> </span><span class="ff4">setup<span class="_ _a"> </span></span>程<span class="_ _7"></span>序<span class="_ _7"></span><span class="ff4"> <span class="_ _7"></span></span>为<span class="_ _7"></span>一个<span class="_ _9"> </span><span class="ff4">Shell<span class="_ _8"> </span></span>程序<span class="_ _7"></span>,<span class="_ _7"></span>如<span class="_ _7"></span><span class="ff4">:/bin/sh<span class="_ _7"></span> <span class="_ _7"></span></span>即</div><div class="t m0 x1 h5 y12 ff4 fs2 fc0 sc0 ls0 ws0">Bourne Shell<span class="ff2">(</span>command<span class="_ _a"> </span><span class="ff2">出来了,呵呵)。</span> </div><div class="t m0 x1 h5 y13 ff2 fs2 fc0 sc0 ls0 ws0">  <span class="_ _7"></span>得到<span class="_ _7"></span>控制<span class="_ _7"></span>后,<span class="_ _c"></span><span class="ff4">Shell<span class="_"> </span></span>程序读<span class="_ _7"></span>取并<span class="_ _7"></span>执行<span class="_ _7"></span>文件<span class="_ _c"></span><span class="ff4">/etc/.profile<span class="_"> </span></span>以及<span class="ff4">.profile<span class="_ _7"></span></span>。<span class="_ _7"></span>这两<span class="_ _7"></span>个文<span class="_ _7"></span>件分<span class="_ _7"></span>别建<span class="_ _7"></span>立</div><div class="t m0 x1 h5 y14 ff2 fs2 fc0 sc0 ls0 ws0">了系统<span class="_ _7"></span>范围内<span class="_ _7"></span>的和<span class="_ _7"></span><span class="ff4"> <span class="_ _7"></span></span>该用户<span class="_ _7"></span>自己的<span class="_ _7"></span>工作环<span class="_ _7"></span>境。最<span class="_ _7"></span>后<span class="_ _8"> </span><span class="ff4">Shell<span class="_"> </span></span>显示命令提<span class="_ _7"></span>示符,<span class="_ _7"></span>如<span class="_ _7"></span><span class="ff4">$</span>。<span class="_ _7"></span><span class="ff4">(</span>这是<span class="_ _7"></span>以<span class="_ _a"> </span><span class="ff4">b<span class="_ _7"></span>sh</span></div><div class="t m0 x1 h5 y15 ff2 fs2 fc0 sc0 ls0 ws0">为例,若是<span class="_ _a"> </span><span class="ff4">csh,</span>为<span class="ff4">.cshrc,ksh<span class="_ _a"> </span></span>为<span class="ff4">.kshrc,bash<span class="_ _8"> </span></span>为<span class="ff4">.bashrc<span class="_ _a"> </span></span>等等<span class="ff4">) </span>   <span class="ff4"> </span></div><div class="t m0 x1 h5 y16 ff2 fs2 fc0 sc0 ls0 ws0">  注<span class="ff4">:(</span>不妨把<span class="ff4">/etc/.profile<span class="_ _a"> </span></span>和<span class="ff4">.profile<span class="_ _8"> </span></span>看成<span class="_ _a"> </span><span class="ff4">DOS<span class="_ _a"> </span></span>的<span class="_ _a"> </span><span class="ff4">au<span class="_ _7"></span>toexec.bat </span>或<span class="ff4"> config.sys<span class="_ _a"> </span></span>文件<span class="ff4">) </span></div><div class="t m0 x1 h5 y17 ff2 fs2 fc0 sc0 ls0 ws0">  当<span class="_ _8"> </span><span class="ff4">shell<span class="_ _a"> </span></span>退出时<span class="_ _7"></span>,内核把<span class="_ _7"></span>控制交给<span class="_ _9"> </span><span class="ff4">init<span class="_ _a"> </span></span>程序<span class="_ _7"></span><span class="ff4">,</span>该程序重<span class="_ _7"></span>新启动自动登<span class="_ _7"></span>陆过程。有两<span class="_ _7"></span>种方法</div><div class="t m0 x1 h5 y18 ff2 fs2 fc0 sc0 ls0 ws0">使<span class="_ _8"> </span><span class="ff4">shell<span class="_"> </span></span>退出<span class="_ _7"></span>,一<span class="_ _c"></span>是用<span class="_ _7"></span>户<span class="_ _7"></span>执<span class="_ _7"></span>行<span class="_ _f"> </span><span class="ff4">exit<span class="_"> </span></span>命令,<span class="_ _7"></span>二<span class="_ _7"></span>是<span class="_ _c"></span><span class="ff4"> <span class="_ _7"></span></span>内<span class="_ _7"></span>核<span class="_ _7"></span><span class="ff4">(<span class="_ _7"></span></span>例<span class="_ _7"></span>如<span class="_ _8"> </span><span class="ff4">root<span class="_"> </span></span>用<span class="_ _8"> </span><span class="ff4">kill<span class="_ _a"> </span></span>命<span class="_ _c"></span>令<span class="_ _7"></span><span class="ff4">)<span class="_ _7"></span></span>发<span class="_ _7"></span>出一<span class="_ _7"></span>个<span class="_ _9"> </span><span class="ff4">kill<span class="_"> </span></span>命令</div><div class="t m0 x1 h5 y19 ff2 fs2 fc0 sc0 ls0 ws0">结束<span class="_ _a"> </span><span class="ff4">shell<span class="_ _8"> </span></span>进程。<span class="ff4">shell<span class="_ _a"> </span></span>退出后,内核回收用户及程序使用的资源。<span class="ff4"> </span></div><div class="t m0 x1 h5 y1a ff2 fs2 fc0 sc0 ls0 ws0">  用户登<span class="_ _7"></span>陆后,用户命<span class="_ _7"></span>令同计算机交<span class="_ _7"></span>互的关系为<span class="_ _c"></span><span class="ff4">:</span>命令进<span class="_ _7"></span>程<span class="ff4">--->Shell<span class="_ _a"> </span></span>程序<span class="_ _7"></span><span class="ff4">--->UNIX<span class="_ _a"> </span></span>内<span class="_ _7"></span>核<span class="ff4">---</span></div><div class="t m0 x1 h5 y1b ff4 fs2 fc0 sc0 ls0 ws0">><span class="ff2">计<span class="_ _7"></span>算机硬<span class="_ _7"></span>件。当<span class="_ _7"></span>用户输<span class="_ _7"></span>入一个<span class="_ _7"></span>命令<span class="_ _7"></span>,如<span class="_ _7"></span></span>$ls, Shell<span class="_"> </span><span class="ff2">将定位其可<span class="_ _7"></span>执行文<span class="_ _7"></span>件<span class="_ _7"></span></span>/bin/ls<span class="_ _a"> </span><span class="ff2">并<span class="_ _7"></span>把其传<span class="_ _7"></span>递给</span></div></div></div><div class="pi" data-data='{"ctm":[1.611850,0.000000,0.000000,1.611850,0.000000,0.000000]}'></div></div>
</body>
</html>
<div id="pf2" class="pf w0 h0" data-page-no="2"><div class="pc pc2 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/6244d2356cd7507199bb7c8a/bg2.jpg"><div class="c x0 y1 w2 h2"><div class="t m0 x1 h5 y1c ff2 fs2 fc0 sc0 ls0 ws0">内核<span class="_ _7"></span>执<span class="_ _7"></span>行。<span class="_ _7"></span>内<span class="_ _7"></span>核产<span class="_ _7"></span>生<span class="_ _7"></span>一<span class="_ _7"></span>个新<span class="_ _7"></span>的<span class="_ _7"></span>子进<span class="_ _7"></span>程<span class="_ _7"></span>调<span class="_ _7"></span>用并<span class="_ _7"></span>执<span class="_ _7"></span>行<span class="_ _4"></span><span class="ff4">/bin/ls</span>。<span class="_ _7"></span>当程<span class="_ _7"></span>序<span class="_ _7"></span>执<span class="_ _7"></span>行完<span class="_ _7"></span>毕<span class="_ _7"></span>后,<span class="_ _7"></span>内<span class="_ _7"></span>核<span class="_ _7"></span>取消<span class="_ _5"></span><span class="ff4"> <span class="_ _7"></span></span>该</div><div class="t m0 x1 h5 y1d ff2 fs2 fc0 sc0 ls0 ws0">子进程并把控制交给其父进程,即<span class="_ _a"> </span><span class="ff4">Shell<span class="_ _a"> </span></span>程序。例如执行<span class="ff4">: </span></div><div class="t m0 x1 h5 y1e ff2 fs2 fc0 sc0 ls0 ws0">    <span class="ff4">$ps </span></div><div class="t m0 x1 h5 y1f ff2 fs2 fc0 sc0 ls0 ws0">   <span class="_ _7"></span> 该命<span class="_ _7"></span>令将会<span class="_ _7"></span>列出用<span class="_ _7"></span>户正在<span class="_ _7"></span>执行<span class="_ _7"></span>的进程<span class="_ _7"></span>,即<span class="_ _9"> </span><span class="ff4">Shell<span class="_"> </span></span>程序<span class="ff4">(</span>下来<span class="_ _7"></span>详细说<span class="_ _7"></span>说,别<span class="_ _7"></span>急现在<span class="_ _c"></span><span class="ff4">)</span>和</div><div class="t m0 x1 h5 y20 ff4 fs2 fc0 sc0 ls0 ws0">ps<span class="_ _a"> </span><span class="ff2">程序。若执行</span>: </div><div class="t m0 x1 h5 y21 ff2 fs2 fc0 sc0 ls0 ws0">    <span class="ff4">$sleep 10 &</span></div><div class="t m0 x1 h5 y22 ff2 fs2 fc0 sc0 ls0 ws0">    <span class="ff4">$ps </span></div><div class="t m0 x1 h5 y23 ff2 fs2 fc0 sc0 ls0 ws0">  其中第一条命令将产生一个在后台执行的<span class="_ _a"> </span><span class="ff4">sleep<span class="_ _a"> </span></span>子进程。<span class="ff4">p<span class="_ _7"></span>s<span class="_ _a"> </span></span>命令执行时会显示出该子进</div><div class="t m0 x1 h5 y24 ff2 fs2 fc0 sc0 ls0 ws0">程。<span class="ff4"> </span></div><div class="t m0 x1 h5 y25 ff2 fs2 fc0 sc0 ls0 ws0">  每当用<span class="_ _7"></span>户执行一条命<span class="_ _7"></span>令时,就会产<span class="_ _7"></span>生一个子进程<span class="_ _7"></span>。该子进程的<span class="_ _7"></span>执行与其<span class="_ _7"></span>父进程或<span class="_ _e"> </span><span class="ff4">Shell</span></div><div class="t m0 x1 h5 y26 ff2 fs2 fc0 sc0 ls0 ws0">完全<span class="_ _7"></span>无关<span class="_ _7"></span>,这<span class="_ _7"></span>样可<span class="_ _7"></span>以使<span class="_ _8"> </span><span class="ff4">Shell<span class="_"> </span></span>去做其<span class="_ _7"></span>他工<span class="_ _7"></span>作。<span class="_ _7"></span><span class="ff4">(Shell<span class="_"> </span></span>只是把用<span class="_ _7"></span>户的<span class="_ _7"></span>意图<span class="_ _7"></span>告<span class="_ _7"></span>诉内<span class="_ _7"></span>核,<span class="_ _7"></span>然后<span class="_ _7"></span>该干</div><div class="t m0 x1 h5 y27 ff2 fs2 fc0 sc0 ls0 ws0">嘛干<span class="_ _7"></span>嘛<span class="ff4">:))<span class="_ _7"></span> </span>现<span class="_ _7"></span>在<span class="_ _8"> </span><span class="ff4">windows<span class="_ _8"> </span></span>有个<span class="_ _7"></span>计划<span class="_ _7"></span>任务<span class="_ _7"></span><span class="ff4">(<span class="_ _7"></span></span>在固<span class="_ _7"></span>定的<span class="_ _7"></span>时间<span class="_ _7"></span>,日<span class="_ _7"></span>期自<span class="_ _7"></span>动执<span class="_ _7"></span>行某<span class="_ _7"></span>任务<span class="_ _c"></span><span class="ff4">),<span class="_ _7"></span></span>其实<span class="_ _8"> </span><span class="ff4">UNIX<span class="_ _8"> </span></span>很</div><div class="t m0 x1 h5 y28 ff2 fs2 fc0 sc0 ls0 ws0">早<span class="_ _7"></span>就<span class="_ _7"></span>有<span class="_ _7"></span>这<span class="_ _7"></span>个<span class="_ _7"></span>功<span class="_ _7"></span>能<span class="_ _7"></span>了<span class="_ _7"></span>,<span class="_ _7"></span>也<span class="_ _c"></span>就<span class="_ _7"></span>是<span class="_ _7"></span>所<span class="_ _7"></span>谓<span class="_ _7"></span>的<span class="_ _9"> </span><span class="ff4">Shell<span class="_ _8"> </span></span>的<span class="_ _7"></span>自<span class="_ _7"></span>动<span class="_ _7"></span>执<span class="_ _7"></span>行<span class="_ _7"></span>。<span class="_ _7"></span>一<span class="_ _7"></span>些<span class="_ _9"> </span><span class="ff4">UNIX<span class="_ _7"></span> <span class="_ _7"></span></span>资<span class="_ _7"></span>源<span class="_ _7"></span>,<span class="_ _7"></span>如<span class="_ _9"> </span><span class="ff4">cron<span class="_"> </span></span>可以<span class="_ _7"></span>自<span class="_ _7"></span>动</div><div class="t m0 x1 h6 y29 ff2 fs2 fc0 sc0 ls0 ws0">执行<span class="_ _9"> </span><span class="ff4">Shell<span class="_ _8"> </span></span>程序<span class="_ _7"></span>而无<span class="_ _7"></span>需<span class="_ _7"></span>用<span class="_ _7"></span>户的<span class="_ _7"></span>参<span class="_ _7"></span>与,<span class="_ _4"></span><span class="ff4">(</span>这<span class="_ _7"></span>个<span class="_ _7"></span>功能<span class="_ _7"></span>好<span class="_ _7"></span>象在<span class="_ _5"></span><span class="ff4">/var/spool/crotab<span class="_ _8"> </span></span>目录<span class="_ _7"></span><span class="ff5">里<span class="_ _7"></span><span class="ff4">)<span class="_ _7"></span></span></span>。<span class="_ _7"></span><span class="ff4"> <span class="_ _7"></span>Crontab <span class="_ _7"></span></span>程</div><div class="t m0 x1 h6 y2a ff2 fs2 fc0 sc0 ls0 ws0">序<span class="ff5">对于</span>系统<span class="_ _7"></span>管理<span class="ff5">员</span>来说是<span class="_ _7"></span><span class="ff5">非</span>常有用<span class="_ _7"></span>的。<span class="_ _c"></span><span class="ff4">Cron <span class="_ _7"></span><span class="ff5">服</span></span>务用<span class="ff5">于</span>计<span class="_ _7"></span>划程序在特定<span class="_ _7"></span>时间(<span class="ff5">月<span class="_ _7"></span></span>、日、<span class="ff5">周</span>、</div><div class="t m0 x1 h6 y2b ff2 fs2 fc0 sc0 ls0 ws0">时<span class="_ _3"> </span>、<span class="_ _3"> </span>分<span class="_ _3"> </span>)<span class="_ _3"> </span>运<span class="_ _3"> </span>行<span class="_ _3"> </span>。<span class="_ _3"> </span><span class="ff5">我<span class="_ _3"> </span>们<span class="_ _e"> </span></span>以<span class="_ _10"> </span><span class="ff4">root<span class="_ _11"> </span></span>的<span class="_ _11"> </span><span class="ff4">crontab<span class="_ _3"> </span> <span class="_ _3"> </span></span>为<span class="_ _3"> </span>例<span class="_ _3"> </span>。<span class="_ _3"> </span>根<span class="_ _e"> </span>用<span class="_ _f"> </span>户<span class="_ _e"> </span>的<span class="_ _e"> </span><span class="ff4"> <span class="_ _3"> </span>crontab<span class="_ _3"> </span> <span class="_ _3"> </span></span>文<span class="_ _3"> </span>件<span class="_ _3"> </span><span class="ff5">放<span class="_ _3"> </span></span>在</div><div class="t m0 x1 h6 y2c ff4 fs2 fc0 sc0 ls0 ws0">/var/spool/crontab/root <span class="ff2">中,其<span class="ff5">格式</span>如下<span class="ff5">:</span></span> </div><div class="t m0 x1 h5 y2d ff2 fs2 fc0 sc0 ls0 ws0">  <span class="ff4">(1) </span> <span class="ff4">(2) </span> <span class="ff4">(3) </span> <span class="ff4">(4) </span> <span class="ff4">(5)</span> <span class="ff4"> (6)</span></div><div class="t m0 x1 h5 y2e ff2 fs2 fc0 sc0 ls0 ws0">  <span class="ff4"> 0</span>  <span class="ff4"> 0 </span>  <span class="ff4">*</span>  <span class="ff4"> * </span>  <span class="ff4">3</span>  <span class="ff4"> /usr/bin/updatedb</span></div><div class="t m0 x1 h6 y2f ff2 fs2 fc0 sc0 ls0 ws0">      <span class="ff4">1. </span>分<span class="ff5">钟<span class="ff4"> (0-60)</span></span></div><div class="t m0 x1 h6 y30 ff2 fs2 fc0 sc0 ls0 ws0">      <span class="ff4">2. <span class="ff5">小</span></span>时<span class="ff4"> (0-23)</span></div><div class="t m0 x1 h5 y31 ff2 fs2 fc0 sc0 ls0 ws0">      <span class="ff4">3. </span>日<span class="ff4"> (1-31)</span></div><div class="t m0 x1 h6 y32 ff2 fs2 fc0 sc0 ls0 ws0">      <span class="ff4">4. <span class="ff5">月</span> (1-12)</span></div><div class="t m0 x1 h6 y33 ff2 fs2 fc0 sc0 ls0 ws0">      <span class="ff4">5. <span class="ff5">星</span></span>期<span class="ff4"> (1-7)</span></div><div class="t m0 x1 h5 y34 ff2 fs2 fc0 sc0 ls0 ws0">      <span class="ff4">6. </span>所要运行的程序</div><div class="t m0 x1 h6 y35 ff2 fs2 fc0 sc0 ls0 ws0">  <span class="ff4">2.Shell<span class="_ _a"> </span></span>的功能和特<span class="ff5">点</span></div><div class="t m0 x1 h6 y36 ff2 fs2 fc0 sc0 ls0 ws0">  <span class="ff4">1></span>命令行<span class="ff5">解释</span></div><div class="t m0 x1 h6 y37 ff2 fs2 fc0 sc0 ls0 ws0">  <span class="ff4">2></span>使用保留<span class="ff5">字</span></div><div class="t m0 x1 h6 y38 ff2 fs2 fc0 sc0 ls0 ws0">  <span class="ff4">3></span>使用<span class="_ _a"> </span><span class="ff4">Shell<span class="_ _a"> </span><span class="ff5">元字</span></span>符<span class="ff4">(<span class="_ _7"></span></span>通<span class="ff5">配</span>符<span class="ff4">)</span></div><div class="t m0 x1 h6 y39 ff2 fs2 fc0 sc0 ls0 ws0">  <span class="ff4">4></span>可<span class="ff5">处</span>理程序命令</div><div class="t m0 x1 h6 y3a ff2 fs2 fc0 sc0 ls0 ws0">  <span class="ff4">5></span>使用输入输出重定<span class="ff5">向</span>和管<span class="ff5">道</span></div><div class="t m0 x1 h6 y3b ff2 fs2 fc0 sc0 ls0 ws0">  <span class="ff4">6><span class="ff5">维护</span></span>一些<span class="ff5">变量</span></div><div class="t m0 x1 h5 y3c ff2 fs2 fc0 sc0 ls0 ws0">  <span class="ff4">7></span>运行环境控制</div><div class="t m0 x1 h5 y3d ff2 fs2 fc0 sc0 ls0 ws0">  <span class="ff4">8></span>支持<span class="_ _a"> </span><span class="ff4">Shell<span class="_ _a"> </span></span>编程<span class="ff4"> </span></div><div class="t m0 x1 h6 y3e ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _7"></span> <span class="_ _c"></span><span class="ff5">对<span class="_ _c"></span>于<span class="_ _5"></span><span class="ff4">"<span class="_ _c"></span></span></span>命<span class="_ _7"></span>令<span class="_ _c"></span>行<span class="_ _c"></span><span class="ff5">解<span class="_ _c"></span>释<span class="_ _5"></span><span class="ff4">"<span class="_ _c"></span></span></span>就<span class="_ _c"></span>不<span class="_ _c"></span>多<span class="_ _7"></span>说<span class="_ _c"></span>了<span class="_ _c"></span>,<span class="_ _c"></span>就<span class="_ _c"></span>是<span class="_ _c"></span>在<span class="_ _f"> </span><span class="ff4">shell<span class="_"> </span></span>提<span class="_ _c"></span>示<span class="_ _c"></span>符<span class="_ _7"></span><span class="ff4">(<span class="_ _c"></span></span>例<span class="_ _c"></span>如<span class="_ _5"></span><span class="ff4">:"$","%","#"<span class="_ _7"></span></span>等<span class="_ _c"></span><span class="ff4">)<span class="_ _c"></span></span>后<span class="_ _c"></span>输<span class="_ _c"></span>入<span class="_ _c"></span>一<span class="_ _c"></span>行</div><div class="t m0 x1 h5 y3f ff4 fs2 fc0 sc0 ls0 ws0">unix<span class="_ _a"> </span><span class="ff2">命令,</span>Shell<span class="_ _8"> </span><span class="ff2">将接收用户的输入。</span> </div></div></div><div class="pi" data-data='{"ctm":[1.611850,0.000000,0.000000,1.611850,0.000000,0.000000]}'></div></div>
<div id="pf3" class="pf w0 h0" data-page-no="3"><div class="pc pc3 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/6244d2356cd7507199bb7c8a/bg3.jpg"><div class="c x0 y1 w2 h2"><div class="t m0 x1 h6 y1c ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _7"></span> <span class="_ _7"></span><span class="ff4">"<span class="_ _7"></span></span>使<span class="_ _7"></span>用<span class="_ _7"></span>保<span class="_ _7"></span>留<span class="_ _7"></span><span class="ff5">字<span class="_ _c"></span><span class="ff4">":Shell<span class="_"> </span></span></span>有一<span class="_ _c"></span>些<span class="_ _7"></span>具<span class="_ _7"></span>有<span class="_ _7"></span>特<span class="_ _7"></span><span class="ff5">殊<span class="_ _7"></span></span>意<span class="_ _7"></span><span class="ff5">义<span class="_ _7"></span></span>的<span class="_ _c"></span><span class="ff5">字<span class="_ _7"></span></span>,<span class="_ _7"></span>例<span class="_ _7"></span>如<span class="_ _7"></span>在<span class="_ _9"> </span><span class="ff4">Shell<span class="_"> </span><span class="ff5">脚本<span class="_ _7"></span></span></span>中<span class="_ _7"></span>,<span class="_ _c"></span><span class="ff4">do,done,for<span class="_"> </span></span>等<span class="ff5">字</span></div><div class="t m0 x1 h6 y1d ff2 fs2 fc0 sc0 ls0 ws0">用来控制<span class="ff5">循</span>环<span class="ff5">操</span>作,<span class="ff4">if,then<span class="_ _a"> </span></span>等控制条件<span class="ff5">操</span>作。<span class="ff4"> </span>保留<span class="ff5">字随<span class="_ _8"> </span><span class="ff4">Shell<span class="_ _a"> </span></span></span>环境的不同而不同。<span class="ff4"> </span></div><div class="t m0 x1 h6 y40 ff2 fs2 fc0 sc0 ls0 ws0">  <span class="ff4">"</span>通<span class="ff5">配</span>符<span class="ff4">"<span class="ff5">:</span>* <span class="ff5">匹配</span></span>任何位置</div><div class="t m0 x1 h6 y41 ff2 fs2 fc0 sc0 ls0 ws0">       <span class="ff4">? <span class="ff5">匹配单</span></span>个<span class="ff5">字</span>符</div><div class="t m0 x1 h6 y1f ff2 fs2 fc0 sc0 ls0 ws0">       <span class="ff4">[] <span class="ff5">匹配</span></span>的<span class="ff5">字</span>符范围或列<span class="ff5">表<span class="ff4"> </span></span>例如<span class="ff4">:</span></div><div class="t m0 x1 h5 y42 ff2 fs2 fc0 sc0 ls0 ws0">       </div><div class="t m0 x1 h5 y43 ff2 fs2 fc0 sc0 ls0 ws0">         <span class="ff4"> $ls [a-c]*</span></div><div class="t m0 x1 h5 y21 ff2 fs2 fc0 sc0 ls0 ws0">         </div><div class="t m0 x1 h6 y44 ff2 fs2 fc0 sc0 ls0 ws0">         <span class="ff4"> </span>将列出以<span class="_ _a"> </span><span class="ff4">a-c<span class="_ _a"> </span></span>范围内<span class="ff5">字</span>符<span class="ff5">开头</span>的所有文件</div><div class="t m0 x1 h5 y45 ff2 fs2 fc0 sc0 ls0 ws0">         <span class="ff4"> $ls [a,m,t]*</span></div><div class="t m0 x1 h6 y23 ff2 fs2 fc0 sc0 ls0 ws0">         将列出以<span class="_ _a"> </span><span class="ff4">e,m<span class="_ _a"> </span></span>或<span class="_ _8"> </span><span class="ff4">t<span class="_ _a"> </span><span class="ff5">开头</span></span>的所有文件<span class="ff4"> </span></div><div class="t m0 x1 h6 y46 ff2 fs2 fc0 sc0 ls0 ws0">  <span class="_ _7"></span><span class="ff4">"<span class="_ _7"></span></span>程<span class="_ _7"></span>序<span class="_ _7"></span>命令<span class="_ _c"></span><span class="ff4">" <span class="_ _7"></span><span class="ff5">:<span class="_ _7"></span></span></span>当<span class="_ _7"></span>用户<span class="_ _7"></span>输<span class="_ _7"></span>入命<span class="_ _7"></span>令<span class="_ _7"></span>后,<span class="_ _5"></span><span class="ff4">Shell<span class="_"> </span></span>读取环<span class="_ _7"></span>境<span class="_ _7"></span><span class="ff5">变量<span class="_ _c"></span><span class="ff4">$path(<span class="_ _7"></span></span></span>一<span class="ff5">般<span class="_ _7"></span></span>在<span class="_ _7"></span>用<span class="_ _7"></span>户自<span class="_ _7"></span>己<span class="_ _7"></span>的<span class="_ _7"></span><span class="ff4">.profile</span></div><div class="t m0 x1 h6 y25 ff2 fs2 fc0 sc0 ls0 ws0">中设<span class="_ _7"></span>置<span class="_ _7"></span><span class="ff4">)<span class="_ _7"></span></span>,<span class="_ _7"></span>该<span class="ff5">变<span class="_ _7"></span>量<span class="_ _7"></span>包<span class="_ _7"></span>含</span>了<span class="_ _7"></span>命<span class="_ _7"></span>令<span class="_ _7"></span>可执<span class="_ _7"></span>行<span class="_ _7"></span>文件<span class="_ _7"></span>可<span class="_ _7"></span>能存<span class="_ _7"></span>在<span class="_ _7"></span>的<span class="_ _7"></span>目录<span class="_ _7"></span>列<span class="_ _7"></span><span class="ff5">表<span class="_ _7"></span></span>。<span class="_ _4"></span><span class="ff4"> <span class="_ _7"></span>shell<span class="_"> </span><span class="ff5">从</span></span>这<span class="_ _7"></span>些目<span class="_ _7"></span>录<span class="_ _7"></span>中<span class="_ _7"></span><span class="ff5">寻找<span class="_ _7"></span></span>命</div><div class="t m0 x1 h6 y26 ff2 fs2 fc0 sc0 ls0 ws0">令所<span class="ff5">对</span>应的可执行文件,然后将该文件<span class="ff5">送</span>给内核执行。<span class="ff4"> </span></div><div class="t m0 x1 h6 y28 ff2 fs2 fc0 sc0 ls0 ws0">  <span class="ff4">"</span>输入输出重定<span class="ff5">向</span>及管<span class="ff5">道<span class="ff4">" </span>:</span>重定<span class="ff5">向</span>的功能同<span class="_ _a"> </span><span class="ff4">DOS<span class="_ _a"> </span></span>的重定<span class="ff5">向</span>功能<span class="ff5">:<span class="ff4"> </span></span></div><div class="t m0 x1 h6 y2a ff2 fs2 fc0 sc0 ls0 ws0">    <span class="ff4"> ">" </span>重定<span class="ff5">向</span>输出</div><div class="t m0 x1 h6 y2b ff2 fs2 fc0 sc0 ls0 ws0">    <span class="ff4"> "<" </span>重定<span class="ff5">向</span>输入<span class="ff4"> </span></div><div class="t m0 x1 h6 y47 ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _c"></span> <span class="_ _c"></span>而<span class="_ _5"></span>管<span class="_ _5"></span><span class="ff5">道<span class="_ _c"></span></span>符<span class="_ _5"></span><span class="ff5">号<span class="_ _c"></span></span>,<span class="_ _c"></span>是<span class="_ _f"> </span><span class="ff4">unix<span class="_ _f"> </span></span>功<span class="_ _c"></span>能<span class="_ _c"></span>强<span class="_ _5"></span>大<span class="_ _c"></span>的<span class="_ _5"></span>一<span class="_ _c"></span>个<span class="_ _5"></span><span class="ff5">地<span class="_ _5"></span></span>方<span class="_ _5"></span><span class="ff4">,<span class="_ _c"></span></span>符<span class="_ _5"></span><span class="ff5">号<span class="_ _c"></span></span>是<span class="_ _5"></span>一<span class="_ _c"></span>条<span class="_ _5"></span><span class="ff5">竖<span class="_ _c"></span>线<span class="_ _5"></span><span class="ff4">:"|"<span class="_ _5"></span></span></span>,<span class="_ _c"></span>用<span class="_ _5"></span>法<span class="_ _c"></span><span class="ff4">:<span class="_ _7"></span> <span class="_ _c"></span>command<span class="_ _7"></span> <span class="_ _7"></span>1<span class="_ _7"></span> <span class="_ _c"></span>|</span></div><div class="t m0 x1 h5 y48 ff4 fs2 fc0 sc0 ls0 ws0">command<span class="_ _7"></span> <span class="_ _7"></span>2<span class="_ _7"></span> <span class="_ _c"></span><span class="ff2">他<span class="_ _c"></span>的<span class="_ _c"></span>功<span class="_ _c"></span>能<span class="_ _c"></span>是<span class="_ _c"></span>把<span class="_ _c"></span>第<span class="_ _7"></span>一<span class="_ _c"></span>个<span class="_ _c"></span>命<span class="_ _c"></span>令<span class="_ _f"> </span></span>command<span class="_ _7"></span> <span class="_ _7"></span>1<span class="_"> </span><span class="ff2">执<span class="_ _c"></span>行<span class="_ _c"></span>的<span class="_ _7"></span>结<span class="_ _c"></span>果<span class="_ _c"></span>作<span class="_ _c"></span>为<span class="_ _9"> </span></span>command<span class="_ _7"></span> <span class="_ _7"></span>2<span class="_"> </span><span class="ff2">的<span class="_ _c"></span>输<span class="_ _c"></span>入<span class="_ _c"></span>传<span class="_ _c"></span>给</span></div><div class="t m0 x1 h5 y49 ff4 fs2 fc0 sc0 ls0 ws0">command 2<span class="ff2">,例如</span>: </div><div class="t m0 x1 h5 y4a ff2 fs2 fc0 sc0 ls0 ws0">    <span class="ff4">$ls -s|sort -nr|pg </span></div><div class="t m0 x1 h6 y32 ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _7"></span> 该<span class="_ _7"></span>命<span class="_ _7"></span>令<span class="_ _7"></span>列<span class="_ _7"></span>出<span class="_ _7"></span>当<span class="_ _7"></span>前<span class="_ _7"></span>目<span class="_ _7"></span>录<span class="_ _7"></span>中的<span class="_ _7"></span>所<span class="_ _7"></span>有<span class="_ _7"></span>文<span class="_ _7"></span>件<span class="_ _7"></span>,<span class="_ _7"></span>并<span class="_ _7"></span>把<span class="_ _7"></span>输<span class="_ _7"></span>出<span class="_ _7"></span><span class="ff5">送<span class="_ _7"></span></span>给<span class="_ _f"> </span><span class="ff4">sort<span class="_"> </span></span>命令<span class="_ _7"></span>作<span class="_ _7"></span>为<span class="_ _7"></span>输<span class="_ _7"></span>入<span class="_ _7"></span>,<span class="_ _7"></span><span class="ff4">so<span class="_ _7"></span>rt<span class="_ _8"> </span></span>命<span class="_ _7"></span>令<span class="ff5">按<span class="_ _c"></span></span>数</div><div class="t m0 x1 h6 y33 ff5 fs2 fc0 sc0 ls0 ws0">字<span class="ff2">递<span class="_ _7"></span></span>减<span class="ff2">的<span class="_ _7"></span></span>顺<span class="_ _7"></span><span class="ff2">序把<span class="_ _8"> </span><span class="ff4">ls<span class="_"> </span></span>的输出</span>排<span class="_ _7"></span><span class="ff2">序<span class="_ _7"></span>。然<span class="_ _7"></span>后把<span class="_ _7"></span></span>排<span class="_ _7"></span><span class="ff2">序后<span class="_ _7"></span>的<span class="_ _7"></span><span class="ff4"> <span class="_ _7"></span></span>内<span class="_ _7"></span>容传<span class="_ _7"></span></span>送<span class="ff2">给<span class="_ _8"> </span><span class="ff4">pg<span class="_"> </span></span>命令,<span class="_ _7"></span><span class="ff4">pg<span class="_ _8"> </span></span>命令<span class="_ _7"></span>在显<span class="_ _7"></span>示器<span class="_ _7"></span>上</span></div><div class="t m0 x1 h6 y34 ff2 fs2 fc0 sc0 ls0 ws0">显示<span class="_ _a"> </span><span class="ff4">sort<span class="_ _a"> </span></span>命令<span class="ff5">排</span>序后的内容。<span class="ff4"> </span></div><div class="t m0 x1 h6 y36 ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _7"></span> <span class="_ _7"></span><span class="ff4">"<span class="_ _7"></span><span class="ff5">维<span class="_ _7"></span>护<span class="_ _c"></span>变<span class="_ _7"></span>量<span class="_ _7"></span></span>"<span class="_ _7"></span> <span class="_ _c"></span><span class="ff5">:<span class="_ _7"></span></span>Shell<span class="_"> </span></span>可以<span class="_ _c"></span><span class="ff5">维<span class="_ _7"></span>护<span class="_ _7"></span></span>一<span class="_ _7"></span>些<span class="_ _7"></span><span class="ff5">变<span class="_ _7"></span>量<span class="_ _7"></span></span>。<span class="_ _7"></span><span class="ff5">变<span class="_ _c"></span>量<span class="_ _7"></span></span>中<span class="_ _7"></span>存<span class="_ _7"></span><span class="ff5">放<span class="_ _7"></span></span>一<span class="_ _7"></span>些<span class="_ _7"></span>数<span class="_ _7"></span>据<span class="_ _7"></span>供<span class="_ _c"></span>以<span class="_ _7"></span>后<span class="_ _7"></span>使<span class="_ _7"></span>用<span class="_ _7"></span>。<span class="_ _7"></span>用<span class="_ _7"></span>户<span class="_ _7"></span>可<span class="_ _7"></span>以</div><div class="t m0 x1 h6 y37 ff2 fs2 fc0 sc0 ls0 ws0">用<span class="ff4">"="</span>给<span class="ff5">变量赋值</span>,如<span class="ff4">: </span></div><div class="t m0 x1 h5 y4b ff2 fs2 fc0 sc0 ls0 ws0">         <span class="ff4">$lookup=/usr/mydir </span></div><div class="t m0 x1 h6 y3b ff2 fs2 fc0 sc0 ls0 ws0">该<span class="_ _c"></span>命<span class="_ _c"></span>令<span class="_ _5"></span>建<span class="_ _c"></span>立<span class="_ _5"></span>一<span class="_ _c"></span>个<span class="_ _5"></span><span class="ff5">名<span class="_ _c"></span></span>为<span class="_ _3"> </span><span class="ff4">lookup<span class="_"> </span></span>的<span class="_ _5"></span><span class="ff5">变<span class="_ _c"></span>量<span class="_ _5"></span></span>并<span class="_ _c"></span>给<span class="_ _5"></span>其<span class="_ _c"></span><span class="ff5">赋<span class="_ _5"></span>值<span class="_ _5"></span><span class="ff4">/usr/mydir<span class="_ _12"></span>,<span class="_ _c"></span><span class="ff2">以<span class="_ _5"></span>后<span class="_ _c"></span>用<span class="_ _5"></span>户<span class="_ _c"></span>可<span class="_ _c"></span>以<span class="_ _5"></span>在<span class="_ _c"></span>命<span class="_ _5"></span>令<span class="_ _c"></span>行<span class="_ _5"></span>中<span class="_ _c"></span>使<span class="_ _c"></span>用</span></span></span></div><div class="t m0 x1 h6 y3c ff4 fs2 fc0 sc0 ls0 ws0">lookup<span class="_ _a"> </span><span class="ff2">来<span class="ff5">代替</span></span>/usr/mydir<span class="ff2">,例如</span>: <span class="ff2">         </span></div><div class="t m0 x1 h5 y4c ff2 fs2 fc0 sc0 ls0 ws0">         <span class="ff4">$echo $lookup</span></div><div class="t m0 x1 h5 y4d ff2 fs2 fc0 sc0 ls0 ws0">         结果显示<span class="ff4">:/usr/mydir </span></div><div class="t m0 x1 h6 y3f ff2 fs2 fc0 sc0 ls0 ws0">         为了使<span class="ff5">变量</span>能被子进程使用<span class="ff4">,</span>可用<span class="_ _a"> </span><span class="ff4">exprot<span class="_ _a"> </span></span>命令,例如<span class="ff4">: </span></div></div></div><div class="pi" data-data='{"ctm":[1.611850,0.000000,0.000000,1.611850,0.000000,0.000000]}'></div></div>
<div id="pf4" class="pf w0 h0" data-page-no="4"><div class="pc pc4 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/6244d2356cd7507199bb7c8a/bg4.jpg"><div class="c x0 y1 w2 h2"><div class="t m0 x1 h5 y4e ff2 fs2 fc0 sc0 ls0 ws0">         <span class="ff4">$lookup=/usr/mydir</span></div><div class="t m0 x1 h5 y4f ff2 fs2 fc0 sc0 ls0 ws0">         <span class="ff4">$export lookup </span></div><div class="t m0 x1 h6 y40 ff2 fs2 fc0 sc0 ls0 ws0">  <span class="ff4">"</span>运行环境控制<span class="ff4">" <span class="_ _7"></span><span class="ff5">:</span></span>当用户登陆启动<span class="_ _8"> </span><span class="ff4">shell<span class="_ _a"> </span></span>后,<span class="ff4">shell<span class="_ _8"> </span></span>要为用户<span class="ff5">创</span>建一个工作的环境,如下<span class="_ _7"></span><span class="ff4">:</span></div><div class="t m0 x1 h7 y50 ff4 fs2 fc0 sc0 ls0 ws0"> </div><div class="t m0 x1 h6 y20 ff2 fs2 fc0 sc0 ls0 ws0">  <span class="ff4">1></span>当<span class="_ _a"> </span><span class="ff4">login<span class="_ _a"> </span></span>程序<span class="ff5">激</span>活用户<span class="_ _8"> </span><span class="ff4">shell<span class="_ _a"> </span></span>后,将为用户建立环境<span class="ff5">变量</span>。<span class="ff5">从<span class="_ _7"></span><span class="ff4">/etc/profile<span class="_ _8"> </span></span></span>和<span class="ff4">.profile<span class="_ _a"> </span></span>文件</div><div class="t m0 x1 h6 y51 ff2 fs2 fc0 sc0 ls0 ws0">中读出<span class="_ _7"></span>,在这<span class="_ _7"></span>些文件<span class="_ _7"></span>中一<span class="_ _7"></span><span class="ff5">般</span>都用<span class="_ _5"></span><span class="ff4">$TERM<span class="_ _7"></span> <span class="_ _7"></span><span class="ff5">变量</span></span>设<span class="_ _7"></span>置终端<span class="_ _7"></span><span class="ff5">类型<span class="_ _7"></span></span>,用<span class="_ _c"></span><span class="ff4">$P<span class="_ _13"></span>A<span class="_ _14"></span>TH<span class="_ _a"> </span><span class="ff5">变<span class="_ _7"></span>量<span class="ff2">设置<span class="_ _8"> </span></span></span>Shell<span class="_"> </span><span class="ff5">寻找</span></span></div><div class="t m0 x1 h6 y52 ff2 fs2 fc0 sc0 ls0 ws0">可执行文件的<span class="ff5">路径</span>。<span class="ff4"> </span></div><div class="t m0 x1 h6 y53 ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _7"></span> <span class="_ _7"></span><span class="ff4">2><span class="_ _c"></span><span class="ff5">从<span class="_ _7"></span></span>/etc/passwd<span class="_"> </span></span>文<span class="_ _7"></span>件<span class="_ _7"></span>或<span class="_ _7"></span>命<span class="_ _c"></span>令<span class="_ _7"></span>行<span class="_ _7"></span>启<span class="_ _c"></span>动<span class="_ _8"> </span><span class="ff4">shell<span class="_"> </span></span>时<span class="_ _7"></span>,<span class="_ _c"></span>用<span class="_ _7"></span>户<span class="_ _7"></span>可<span class="_ _7"></span>以<span class="_ _c"></span>给<span class="_ _8"> </span><span class="ff4">shell<span class="_"> </span></span>程<span class="_ _7"></span>序<span class="_ _7"></span>指<span class="_ _c"></span>定<span class="_ _7"></span>一<span class="_ _7"></span>些<span class="_ _7"></span>参<span class="_ _c"></span>数<span class="_ _7"></span>,<span class="_ _7"></span>例</div><div class="t m0 x1 h6 y23 ff2 fs2 fc0 sc0 ls0 ws0">如<span class="ff4">"-x"</span>,可以在命令执行前显示该命令及其参数。后面详细<span class="ff5">介绍</span>这些参数。<span class="ff4"> </span></div><div class="t m0 x1 h6 y46 ff2 fs2 fc0 sc0 ls0 ws0">  <span class="ff4">"shell<span class="_ _a"> </span></span>编程<span class="ff4">" <span class="ff5">:本</span></span>文<span class="ff5">主</span>要<span class="ff5">介绍</span>的内容。<span class="ff4"> </span></div><div class="t m0 x1 h6 y26 ff2 fs2 fc0 sc0 ls0 ws0">  <span class="ff4">shell<span class="_"> </span><span class="ff5">本</span></span>身也是<span class="_ _7"></span>一种<span class="ff5">语<span class="_ _7"></span>言<span class="ff4">(*<span class="_ _7"></span></span></span>可以先<span class="_ _7"></span>理<span class="ff5">解<span class="_ _7"></span></span>为<span class="_ _8"> </span><span class="ff4">unix<span class="_ _a"> </span></span>命令<span class="_ _7"></span>的<span class="ff5">组合<span class="_ _7"></span></span>,<span class="ff5">加</span>上<span class="_ _7"></span><span class="ff5">类<span class="_ _8"> </span><span class="ff4">C<span class="_ _a"> </span></span></span>的<span class="_ _7"></span>条件,<span class="_ _7"></span><span class="ff5">循</span>环<span class="_ _7"></span>等程</div><div class="t m0 x1 h6 y27 ff2 fs2 fc0 sc0 ls0 ws0">序控制<span class="_ _7"></span><span class="ff5">语句<span class="_ _7"></span><span class="ff4">,</span>类<span class="_ _7"></span>似<span class="_ _8"> </span><span class="ff4">dos<span class="_ _a"> </span></span>批处<span class="_ _7"></span></span>理,<span class="_ _7"></span>但要强<span class="_ _7"></span>大的多<span class="_ _c"></span><span class="ff4">),</span>用户<span class="_ _7"></span>可以<span class="_ _7"></span><span class="ff4"> </span>通过<span class="_ _8"> </span><span class="ff4">shell<span class="_"> </span></span>编程<span class="ff4">(<span class="ff5">脚本<span class="_ _7"></span></span>,</span>文<span class="ff5">本<span class="_ _7"></span></span>文件<span class="_ _7"></span><span class="ff4">)</span>,完</div><div class="t m0 x1 h5 y28 ff2 fs2 fc0 sc0 ls0 ws0">成特定的工作。<span class="ff4"> </span></div><div class="t m0 x1 h8 y54 ff3 fs1 fc0 sc0 ls0 ws0">1.2<span class="_ _2"> </span>SHELL<span class="_ _3"> </span><span class="ff5 sc1">变量</span> </div><div class="t m0 x1 h6 y55 ff2 fs2 fc0 sc0 ls0 ws0">  下面<span class="ff5">我们</span>详细的<span class="ff5">介绍<span class="_ _a"> </span><span class="ff4">Bourne Shell<span class="_ _a"> </span></span></span>的编程<span class="ff4">: </span></div><div class="t m0 x1 h6 y56 ff2 fs2 fc0 sc0 ls0 ws0">  自<span class="ff5">从贝尔</span>实验<span class="ff5">室</span>设计了<span class="_ _8"> </span><span class="ff4">Bourne Shell</span>。<span class="ff5">从那</span>时<span class="ff5">起许</span>多<span class="ff5">厂商</span>根据不同的硬件<span class="ff5">平</span>台设计了<span class="ff5">许</span></div><div class="t m0 x1 h6 y57 ff2 fs2 fc0 sc0 ls0 ws0">多<span class="ff5">版本</span>得<span class="_ _a"> </span><span class="ff4">unix</span>。但在<span class="ff5">众</span>多<span class="ff5">版本</span>的<span class="_ _a"> </span><span class="ff4">unix<span class="_ _a"> </span></span>中,<span class="ff4">Bourne <span class="_ _7"></span>Shell </span>一直保持一<span class="ff5">致</span>。</div><div class="t m0 x1 h8 y58 ff1 fs1 fc0 sc0 ls0 ws0">1.2.1<span class="_"> </span>Bsh<span class="_ _3"> </span><span class="ff2 sc1">的启动<span class="ff5">:</span></span></div><div class="t m0 x2 h6 y59 ff2 fs2 fc0 sc0 ls0 ws0">用户在<span class="_ _7"></span>登陆后<span class="_ _7"></span>,系统<span class="_ _7"></span>根据文<span class="_ _7"></span>件<span class="_ _5"></span><span class="ff4">/etc/passwd<span class="_ _8"> </span></span>中有关<span class="_ _7"></span>该用户<span class="_ _7"></span>的信息<span class="_ _7"></span><span class="ff5">项</span>启<span class="_ _7"></span>动<span class="_ _9"> </span><span class="ff4">Shell<span class="_ _7"></span></span>。例如<span class="_ _7"></span>某用</div><div class="t m0 x2 h6 y5a ff2 fs2 fc0 sc0 ls0 ws0">户在<span class="_ _a"> </span><span class="ff4">passwd<span class="_ _a"> </span></span>中<span class="ff4"> </span>的信息<span class="ff5">项</span>为<span class="ff4">: </span></div><div class="t m0 x1 h5 y5b ff2 fs2 fc0 sc0 ls0 ws0">    <span class="ff4">ice_walk:!:41<span class="_ _12"></span>1:103:Imsnow ,ice_walk:/home/ice_walk:/bin/bsh </span></div><div class="t m0 x1 h6 y5c ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _7"></span> <span class="_ _c"></span><span class="ff5">则<span class="_ _7"></span>表<span class="_ _c"></span></span>明<span class="_ _7"></span>,<span class="_ _c"></span>用<span class="_ _7"></span>户<span class="_ _c"></span><span class="ff5">名<span class="_ _7"></span></span>是<span class="_ _9"> </span><span class="ff4">ice_walk<span class="_"> </span></span>等<span class="_ _7"></span>信<span class="_ _c"></span>息<span class="_ _7"></span>,<span class="_ _7"></span>在<span class="_ _c"></span>最<span class="_ _7"></span>后<span class="_ _c"></span>一<span class="_ _c"></span><span class="ff5">项<span class="_ _c"></span><span class="ff4">"/bin/bsh"<span class="_ _7"></span></span>表<span class="_ _c"></span></span>明<span class="_ _7"></span>用<span class="_ _c"></span>户<span class="_ _7"></span>的<span class="_ _9"> </span><span class="ff4">sh<span class="_"> </span></span>环<span class="_ _7"></span>境<span class="_ _7"></span><span class="ff5">类<span class="_ _c"></span>型<span class="_ _7"></span></span>是</div><div class="t m0 x1 h6 y5d ff4 fs2 fc0 sc0 ls0 ws0">bsh,<span class="ff5">于<span class="ff2">是<span class="_ _7"></span>系统启<span class="_ _7"></span>动</span>之<span class="_ _7"></span><span class="ff2">。在启<span class="_ _7"></span>动或执<span class="_ _7"></span>行</span></span>(<span class="_ _7"></span><span class="ff5">包括<span class="ff2">下<span class="_ _7"></span>面</span>我们<span class="_ _7"></span><span class="ff2">要</span>讲</span> <span class="_ _7"></span><span class="ff2">的<span class="_ _8"> </span></span>shell<span class="_ _a"> </span><span class="ff2">程<span class="_ _7"></span>序</span>--<span class="ff5">脚<span class="_ _7"></span>本<span class="ff2">)<span class="_ _7"></span>过程中<span class="_ _7"></span>可以使</span></span></div><div class="t m0 x1 h6 y5e ff2 fs2 fc0 sc0 ls0 ws0">用以下一些参数,<span class="ff5">我们</span>一一说明<span class="ff4">: </span></div><div class="t m0 x1 h6 y5f ff2 fs2 fc0 sc0 ls0 ws0">  <span class="ff4">-a </span>将所有<span class="ff5">变量</span>输出</div><div class="t m0 x1 h6 y60 ff2 fs2 fc0 sc0 ls0 ws0">  <span class="ff4">-c "string"<span class="ff5">从<span class="_ _a"> </span></span>string<span class="_ _a"> </span></span>中读取命令</div></div></div><div class="pi" data-data='{"ctm":[1.611850,0.000000,0.000000,1.611850,0.000000,0.000000]}'></div></div>
<div id="pf5" class="pf w0 h0" data-page-no="5"><div class="pc pc5 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/6244d2356cd7507199bb7c8a/bg5.jpg"><div class="c x0 y1 w2 h2"><div class="t m0 x1 h6 y1c ff2 fs2 fc0 sc0 ls0 ws0">  <span class="ff4">-e </span>使用<span class="ff5">非</span>交互<span class="ff5">式模式</span></div><div class="t m0 x1 h6 y1d ff2 fs2 fc0 sc0 ls0 ws0">  <span class="ff4">-f <span class="ff5">禁止<span class="_ _a"> </span></span>shell<span class="_ _a"> </span></span>文件<span class="ff5">名</span>产生</div><div class="t m0 x1 h6 y61 ff2 fs2 fc0 sc0 ls0 ws0">  <span class="ff4">-h </span>定<span class="ff5">义</span></div><div class="t m0 x1 h6 y40 ff2 fs2 fc0 sc0 ls0 ws0">  <span class="ff4">-i </span>交互<span class="ff5">式模式</span></div><div class="t m0 x1 h6 y41 ff2 fs2 fc0 sc0 ls0 ws0">  <span class="ff4">-k </span>为命令的执行设置<span class="ff5">选项</span></div><div class="t m0 x1 h5 y1f ff2 fs2 fc0 sc0 ls0 ws0">  <span class="ff4">-n </span>读取命令但不执行</div><div class="t m0 x1 h6 y20 ff2 fs2 fc0 sc0 ls0 ws0">  <span class="ff4">-r <span class="ff5">受限模式</span></span></div><div class="t m0 x1 h6 y51 ff2 fs2 fc0 sc0 ls0 ws0">  <span class="ff4">-s </span>命令<span class="ff5">从标准</span>输入读取</div><div class="t m0 x1 h5 y52 ff2 fs2 fc0 sc0 ls0 ws0">  <span class="ff4">-t </span>执行一命令,然后退出<span class="_ _a"> </span><span class="ff4">shell</span></div><div class="t m0 x1 h6 y44 ff2 fs2 fc0 sc0 ls0 ws0">  <span class="ff4">-u </span>在<span class="ff5">替换</span>时,使用<span class="ff5">未</span>设置的<span class="ff5">变量</span>将会出<span class="ff5">错</span></div><div class="t m0 x1 h5 y53 ff2 fs2 fc0 sc0 ls0 ws0">  <span class="ff4">-v </span>显示<span class="_ _a"> </span><span class="ff4">shell<span class="_ _8"> </span></span>的输入行</div><div class="t m0 x1 h6 y23 ff2 fs2 fc0 sc0 ls0 ws0">  <span class="ff4">-x <span class="ff5">跟踪模式</span></span>,显示执行的命令</div><div class="t m0 x1 h6 y24 ff5 fs2 fc0 sc0 ls0 ws0">许<span class="ff2">多</span>模式<span class="ff2">可以</span>组合起<span class="ff2">来用<span class="ff4">,</span></span>您<span class="ff2">可以</span>试试<span class="ff2">了,但<span class="ff4">-ei<span class="_ _a"> </span></span>好象不行,</span>你<span class="ff2">说<span class="_ _8"> </span><span class="ff4">why<span class="_ _a"> </span></span></span>呢?<span class="ff4"> </span></div><div class="t m0 x1 h6 y25 ff2 fs2 fc0 sc0 ls0 ws0">  使<span class="_ _7"></span>用<span class="_ _8"> </span><span class="ff4">set<span class="_ _a"> </span></span>可<span class="_ _7"></span>以设<span class="_ _7"></span>置或取<span class="_ _7"></span>消<span class="_ _8"> </span><span class="ff4">shell<span class="_ _8"> </span></span>的<span class="ff5">选项<span class="_ _7"></span></span>来<span class="ff5">改变<span class="_ _9"> </span><span class="ff4">shell<span class="_ _a"> </span></span></span>环<span class="_ _7"></span>境。<span class="_ _7"></span><span class="ff5">打开选<span class="_ _7"></span>项</span>用<span class="_ _7"></span><span class="ff4">"-",<span class="_ _7"></span></span>关闭<span class="ff5">选<span class="_ _7"></span>项</span>用<span class="_ _7"></span><span class="ff4">"+",</span></div><div class="t m0 x1 h6 y26 ff2 fs2 fc0 sc0 ls0 ws0">多数<span class="_ _8"> </span><span class="ff4">unix<span class="_ _8"> </span><span class="ff5">允许<span class="_ _7"></span>打开<span class="_ _7"></span></span></span>或关<span class="_ _7"></span>闭<span class="_ _8"> </span><span class="ff4">a<span class="_ _7"></span></span>、<span class="ff4">f<span class="_ _7"></span></span>、<span class="ff4">e<span class="_ _7"></span></span>、<span class="ff4">h<span class="_ _7"></span></span>、<span class="ff4">k<span class="_ _7"></span></span>、<span class="_ _7"></span><span class="ff4">n</span>、<span class="_ _7"></span><span class="ff4"> u<span class="_ _7"></span></span>、<span class="_ _7"></span><span class="ff4">v<span class="_ _a"> </span></span>和<span class="_ _8"> </span><span class="ff4">x<span class="_ _8"> </span><span class="ff5">选项<span class="_ _7"></span></span></span>。若<span class="_ _7"></span>显<span class="_ _7"></span>示<span class="_ _8"> </span><span class="ff4">Shell<span class="_ _8"> </span></span>中<span class="ff5">已<span class="_ _7"></span>经</span>设<span class="_ _7"></span>置的</div><div class="t m0 x1 h6 y27 ff5 fs2 fc0 sc0 ls0 ws0">选项<span class="ff2">,执行<span class="ff4">: </span></span></div><div class="t m0 x1 h5 y62 ff2 fs2 fc0 sc0 ls0 ws0">    <span class="ff4">$echo $- </span></div><div class="t m0 x1 h6 y2b ff2 fs2 fc0 sc0 ls0 ws0"> <span class="_ _7"></span> <span class="ff4">Bsh<span class="_"> </span></span>中<span class="_ _7"></span>每个<span class="_ _7"></span>用<span class="_ _7"></span>户<span class="_ _7"></span>的<span class="_ _8"> </span><span class="ff4">home<span class="_"> </span></span>目录<span class="_ _7"></span>下<span class="_ _7"></span>都<span class="_ _7"></span>有<span class="_ _7"></span>一<span class="_ _7"></span>个<span class="_ _7"></span><span class="ff4">.profile<span class="_"> </span></span>文件<span class="_ _7"></span>,<span class="_ _7"></span>可以<span class="_ _c"></span><span class="ff5">修改<span class="_ _c"></span></span>该文<span class="_ _7"></span>件<span class="_ _7"></span>来<span class="_ _7"></span><span class="ff5">修<span class="_ _7"></span>改<span class="_ _8"> </span><span class="ff4">shell<span class="_"> </span></span></span>环</div><div class="t m0 x1 h6 y2c ff2 fs2 fc0 sc0 ls0 ws0">境。为了<span class="ff5">增加</span>一个可执行文件的<span class="ff5">路径<span class="ff4">(</span></span>例如<span class="ff4">/ice_walk/bin)</span>,<span class="ff4"> </span>可以把下面<span class="ff5">代</span>码<span class="ff5">加</span>入<span class="ff4">.profile<span class="_ _a"> </span></span>中<span class="ff4"> </span></div><div class="t m0 x1 h5 y2d ff2 fs2 fc0 sc0 ls0 ws0">    <span class="ff4">P<span class="_ _14"></span>A<span class="_ _14"></span>TH<span class="_ _7"></span>=$P<span class="_ _13"></span>A<span class="_ _14"></span>TH:/ice_walk/bin;exprot P<span class="_ _14"></span>A<span class="_ _14"></span>TH </span></div><div class="t m0 x1 h6 y2f ff2 fs2 fc0 sc0 ls0 ws0">  <span class="ff4"> .profile<span class="_ _a"> </span></span>中<span class="_ _8"> </span><span class="ff4">shell<span class="_ _a"> </span></span>的环境<span class="ff5">变量</span>意<span class="ff5">思</span>如下<span class="ff4">: </span></div><div class="t m0 x1 h6 y31 ff2 fs2 fc0 sc0 ls0 ws0">    <span class="ff4">CDP<span class="_ _13"></span>A<span class="_ _14"></span>TH <span class="ff2">执行<span class="_ _a"> </span></span>cd<span class="_ _a"> </span><span class="ff2">命令时使用的<span class="ff5">搜索路径</span></span></span></div><div class="t m0 x1 h5 y32 ff2 fs2 fc0 sc0 ls0 ws0">    <span class="ff4">HOME </span>用户的<span class="_ _a"> </span><span class="ff4">home<span class="_ _a"> </span></span>目录</div><div class="t m0 x1 h6 y33 ff2 fs2 fc0 sc0 ls0 ws0">    <span class="ff4">IFS </span>内部的<span class="ff5">域</span>分<span class="ff5">割</span>符,一<span class="ff5">般</span>为<span class="ff5">空格</span>符、制<span class="ff5">表</span>符、或<span class="ff5">换</span>行符</div><div class="t m0 x1 h6 y34 ff2 fs2 fc0 sc0 ls0 ws0">    <span class="ff4">MAIL<span class="_ _12"></span> <span class="ff2">指定特定文件</span>(<span class="ff2">信<span class="ff5">箱</span></span>)<span class="ff2">的<span class="ff5">路径</span>,有<span class="_ _a"> </span></span>UNIX<span class="_ _a"> </span><span class="ff5">邮<span class="ff2">件系统使用</span></span></span></div><div class="t m0 x1 h6 y35 ff2 fs2 fc0 sc0 ls0 ws0">    <span class="ff4">P<span class="_ _14"></span>A<span class="_ _14"></span>TH<span class="_ _7"></span> <span class="ff5">寻找<span class="ff2">命令的</span>搜索路径</span>(<span class="ff2">同<span class="_ _a"> </span></span>dos<span class="_ _a"> </span><span class="ff2">的<span class="_ _a"> </span></span>c<span class="_ _7"></span>onfig.sys<span class="_ _a"> </span><span class="ff2">的</span> path)</span></div><div class="t m0 x1 h6 y36 ff2 fs2 fc0 sc0 ls0 ws0">    <span class="ff4">PS1 <span class="ff5">主</span></span>命令提示符,<span class="ff5">默认</span>是<span class="ff4">"$"</span></div><div class="t m0 x1 h6 y37 ff2 fs2 fc0 sc0 ls0 ws0">    <span class="ff4">PS2 <span class="ff5">从</span></span>命令提示符,<span class="ff5">默认</span>是<span class="ff4">">"</span></div><div class="t m0 x1 h6 y38 ff2 fs2 fc0 sc0 ls0 ws0">    <span class="ff4">TERM </span>使用终端<span class="ff5">类型<span class="ff4"> </span></span></div><div class="t m0 x1 h8 y63 ff1 fs1 fc0 sc0 ls0 ws0">1.2.2<span class="_"> </span>Bsh<span class="_ _3"> </span><span class="ff5 sc1">里<span class="ff2">特</span>殊字<span class="ff2">符及其</span>含义</span> </div><div class="t m0 x1 h6 y64 ff2 fs2 fc0 sc0 ls0 ws0">  在<span class="_ _8"> </span><span class="ff4">Bsh<span class="_ _a"> </span></span>中有<span class="_ _7"></span>一<span class="ff5">组非字母字<span class="_ _7"></span></span>符。这些<span class="_ _7"></span><span class="ff5">字</span>符的用<span class="ff5">途</span>分<span class="_ _7"></span>为<span class="ff5">四类<span class="_ _5"></span><span class="ff4">:</span></span>作<span class="_ _7"></span>为特<span class="ff5">殊变量名<span class="_ _7"></span></span>、产生文件<span class="ff5">名<span class="_ _c"></span></span>、</div><div class="t m0 x1 h6 y65 ff2 fs2 fc0 sc0 ls0 ws0">数据<span class="_ _7"></span>或<span class="_ _7"></span>程序<span class="_ _7"></span>控<span class="_ _7"></span>制以<span class="_ _7"></span>及<span class="_ _7"></span>引<span class="_ _7"></span>用和<span class="_ _c"></span><span class="ff5">逃逸<span class="_ _7"></span>字<span class="_ _7"></span></span>符控<span class="_ _7"></span>制<span class="_ _7"></span>。<span class="_ _7"></span>他<span class="_ _7"></span><span class="ff5">们<span class="_ _4"></span><span class="ff4"> </span></span>可<span class="_ _7"></span>以<span class="_ _7"></span><span class="ff5">让</span>用<span class="_ _7"></span>户<span class="_ _7"></span>在<span class="_ _9"> </span><span class="ff4">Shell<span class="_ _8"> </span></span>中使<span class="_ _7"></span>用最<span class="_ _7"></span><span class="ff5">少<span class="_ _7"></span></span>的<span class="_ _7"></span><span class="ff5">代<span class="_ _7"></span></span>码完</div></div></div><div class="pi" data-data='{"ctm":[1.611850,0.000000,0.000000,1.611850,0.000000,0.000000]}'></div></div>