<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Natural

     

    shell 注釋多行方法

    由于Shell不支持直接多行注釋,總結了以下Shell注釋多行的變通方法


    一、通過Here Documents和:實現
    1、最簡單方法
    :<<BLOCK
    注釋內容
    BLOCK
          把輸入重定義到前面的命令,但是:是空命令,所以就相當于注釋了。
          如果注釋中有反引號的命令就會報錯。反引號部分沒被注釋掉,例如ab=`ls -l abc`就不會被注釋掉。
    2、解決注釋中有反引號的問題
          在windows的cygwin環境中測試時報錯
    A、方法一
    :<<BLOCK'
    注釋內容
    'BLOCK
    B、方法二
    :<<BLOCK'
    注釋內容
    'BLOCK
    C、方法三
    :<<'
    注釋內容
    '
          以上三種方法都是通過在:<
          BLOCK為Here Documents中的定義符號可以隨意起名,只要前后匹配就行了
    3、簡單說說:指令和Here Documents
          :就是什么也不作(do nothing)即空命令。它的最基本作用就是在if,then條件中。在if語句中各部分必須接執行命令,但有時你不在乎條件是為真(或假)只在乎相反情況。
    command<<word
    any input
    file content
    word
          是Here Documents的用法,意思是將以上的定義符(word,也可以理解成本地文檔名)傳給某腳本或命令,word的內容為兩個word間輸入任意內容(word為Here Documents中的定義符號可以隨意起名,只要前后匹配就行了),這樣就可以在腳本中用command來執行輸入而不必再重建一文件。
      常用在菜單屏幕中,例如:
    cat <<Menu
      1. List files
      2.HELP
      3.exit
    Menu
     
    :<<word
    ....注釋內容
    word
          就類似于建一本地文件,然后對它執行空命令,也就是什么也不做,就相當于注釋了。
      更詳細的Here Document說明可參考http://www.tsnc.edu.cn/default/tsnc_wgrj/doc/abs-3.9.1_cn/html/here-docs.html


    二、通過循環實現
    1、while和:實現
    while : 
    do 
    break
    注釋內容
    done
     
    2、until和:實現
    until :
    注釋內容
    done
    cygwin中測試時報錯,要按照如下格式
    until :
    do
    注釋內容
    done

    3、if和:實現
    if [ 1 -eq 2 ]
    then
    注釋內容
    fi
     
          注意注釋內容中是否含”done/fi”,包含會造成意外結束

    三、其它方法
    1、方法一
    : :||:<<\COMMENTS
    ....注釋內容
    COMMENTS
      高手說上面這種方法最好,因為Here Documents部分不會執行到,只會分析到,應該不會對第二個:作實際的IO重定向。
    2、方法二
    : << 'BLOCK'
    ....注釋內容
    BLOCK
      可以將里面的變量擴展關閉掉。
    3、方法三
    :||{
    ....注釋內容
    }
      這種方法不用到Here Documents,不過這種方法要注意注釋內容中的}
    4、方法四
    :<<\EOF
    ....注釋內容
    EOF
      上面方法可關掉Here Documents中的擴展功能,在Here-Document中忽略ending marker前的任何字符
      實際上使用<<\EOF <<'EOF',甚至<<<\eof在語法上面更加的簡潔。不過這種方法同樣要注意注釋內容中的eof< p=""> <<\eof在語法上面更加的簡潔。不過這種方法同樣要注意注釋內容中的eof<>

    四、參考資料
      http://bbs.chinaunix.net/viewthread.php?tid=1152658&extra=&page=1
      http://blog.csdn.net/magicpang/archive/2009/04/14/4072878.aspx
      http://bbs.chinaunix.net/viewthread.php?tid=1196678&extra=&page=1





    posted on 2012-03-09 17:36 此號已被刪 閱讀(2894) 評論(0)  編輯  收藏 所屬分類: Linux

    導航

    統計

    常用鏈接

    留言簿(8)

    隨筆分類(83)

    隨筆檔案(78)

    文章檔案(2)

    相冊

    收藏夾(7)

    最新隨筆

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 免费a级毛片高清视频不卡| 色欲A∨无码蜜臀AV免费播| 成人黄18免费视频| 日本亚洲色大成网站www久久 | 亚洲精品免费视频| 亚洲色图国产精品| 亚洲三级在线免费观看| 亚洲综合激情另类小说区| 久久精品免费一区二区| 亚洲日韩国产精品乱-久| 歪歪漫画在线观看官网免费阅读| 一级做a爱过程免费视频高清| 免费人成视频x8x8入口| 特级毛片爽www免费版| 亚洲精品专区在线观看| 国产午夜无码片免费| 亚洲AV成人片色在线观看高潮| 日本在线看片免费| 亚洲国产成人无码av在线播放| 波多野结衣中文字幕免费视频| 亚洲人成小说网站色| 免费中文字幕在线| 成人无码WWW免费视频| 亚洲欧洲日产v特级毛片| 成年女人男人免费视频播放| 羞羞漫画登录页面免费| 亚洲女初尝黑人巨高清| 6080午夜一级毛片免费看 | 成人免费无毒在线观看网站| 羞羞视频免费观看| 亚洲成人动漫在线| 成人人免费夜夜视频观看| 五月天婷婷免费视频| 亚洲国产一区二区三区青草影视 | 亚洲国产香蕉人人爽成AV片久久| 成人无码a级毛片免费| 中文字幕精品三区无码亚洲| 国产成人精品日本亚洲专区| 最近2019免费中文字幕视频三 | 一级全免费视频播放| 亚洲欧洲日产国码在线观看|