<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Shell編程入門(mén):Linux解釋器原理

          Shell編程入門(mén):Linux解釋器原理

          作者: 時(shí)間:2016-10-08 來(lái)源:網(wǎng)絡(luò) 收藏

          再看下面的mysed程序,

          代碼:

          #!/bin/sed -f

          s/UNIX/unix/p執(zhí)行./mysed時(shí)出錯(cuò)了。因?yàn)楸唤忉尦闪?bin/sed -f ./mysed,其中-f選項(xiàng)是表示以文件里的內(nèi)容作為sed的命令輸入,但sed的命令輸入不能對(duì)#!/bin/sed -f解釋?zhuān)敲闯绦虺鲥e(cuò)了。

          所以,有用的解釋器應(yīng)該是類(lèi)似bash,perl,awk的程序,并且能對(duì)一些規(guī)定的語(yǔ)句有解釋功能的。下面給出一個(gè)awk程序?qū)懙慕y(tǒng)計(jì)文件行數(shù)和單詞數(shù)的腳本程序myawk。

          代碼:

          #!/usr/bin/awk -f

          BEGIN {

          sum = 0;

          }

          {sum += NF;}

          END {

          printf(file %s have %d line, %d words.n, FILENAME, NR, sum);

          }設(shè)置執(zhí)行位之后,執(zhí)行如下:

          代碼:

          $ echo -e hinhello world>test.txt

          $ ./myawk test.txt

          file test.txt have 2 line, 3 words這里執(zhí)行./myawk被執(zhí)行成“/usr/bin/awk -f ./myawk test.txt”,因?yàn)閍wk的命令中,以#開(kāi)頭的行被認(rèn)為是注釋行而忽略,awk忽略了第一行#!/usr/bin/awk -f,正確的以非#開(kāi)頭行當(dāng)成模式和命令的輸入并能對(duì)其解釋?zhuān)赃@個(gè)程序是正確的,能被順利地執(zhí)行。

          OK,關(guān)于Linux系統(tǒng)的解釋器的介紹就說(shuō)到這了,希望大家能對(duì)解釋器的原理有更多的認(rèn)識(shí),而不是給我越說(shuō)越糊涂^_^。


          上一頁(yè) 1 2 下一頁(yè)

          關(guān)鍵詞:

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();