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

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

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

    Natural

     

    shell 注釋多行方法

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


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


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

    3、if和:實現(xiàn)
    if [ 1 -eq 2 ]
    then
    注釋內(nèi)容
    fi
     
          注意注釋內(nèi)容中是否含”done/fi”,包含會造成意外結(jié)束

    三、其它方法
    1、方法一
    : :||:<<\COMMENTS
    ....注釋內(nèi)容
    COMMENTS
      高手說上面這種方法最好,因為Here Documents部分不會執(zhí)行到,只會分析到,應(yīng)該不會對第二個:作實際的IO重定向。
    2、方法二
    : << 'BLOCK'
    ....注釋內(nèi)容
    BLOCK
      可以將里面的變量擴展關(guān)閉掉。
    3、方法三
    :||{
    ....注釋內(nèi)容
    }
      這種方法不用到Here Documents,不過這種方法要注意注釋內(nèi)容中的}
    4、方法四
    :<<\EOF
    ....注釋內(nèi)容
    EOF
      上面方法可關(guān)掉Here Documents中的擴展功能,在Here-Document中忽略ending marker前的任何字符
      實際上使用<<\EOF <<'EOF',甚至<<<\eof在語法上面更加的簡潔。不過這種方法同樣要注意注釋內(nèi)容中的eof< p=""> <<\eof在語法上面更加的簡潔。不過這種方法同樣要注意注釋內(nèi)容中的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 此號已被刪 閱讀(2895) 評論(0)  編輯  收藏 所屬分類: Linux

    導(dǎo)航

    統(tǒng)計

    常用鏈接

    留言簿(8)

    隨筆分類(83)

    隨筆檔案(78)

    文章檔案(2)

    相冊

    收藏夾(7)

    最新隨筆

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产亚洲精品看片在线观看| 成全视频免费观看在线看| 亚洲色大网站WWW永久网站| 亚洲福利一区二区三区| 在线观看亚洲一区二区| 午夜亚洲AV日韩AV无码大全| 亚洲日韩av无码| 亚洲国产精品一区第二页| 亚洲欧洲日产国码无码网站| 亚洲午夜久久久久妓女影院| 国产AV无码专区亚洲AV手机麻豆 | av成人免费电影| 亚洲第一视频在线观看免费| 中文字幕乱理片免费完整的| 国产午夜无码精品免费看| 先锋影音资源片午夜在线观看视频免费播放| 91免费福利视频| 99精品热线在线观看免费视频| 59pao成国产成视频永久免费| 国产精品1024永久免费视频| 欧美三级在线电影免费| 精品少妇人妻AV免费久久洗澡| 国产免费午夜a无码v视频| 亚洲一区视频在线播放| 2022免费国产精品福利在线 | 亚洲AV成人一区二区三区AV| 亚洲av无码国产精品色午夜字幕| 亚洲综合无码一区二区| 亚洲а∨天堂久久精品9966| 久久久久亚洲AV无码专区体验| 亚洲第一区视频在线观看| 亚洲综合久久精品无码色欲| 国产精品久久久久久亚洲小说| 国产vA免费精品高清在线观看| 久久久久久国产精品免费免费男同 | 高清永久免费观看 | 久久亚洲精品国产精品婷婷 | 亚洲尹人香蕉网在线视颅| 亚洲一卡二卡三卡四卡无卡麻豆| 亚洲一久久久久久久久| 一级毛片免费全部播放|