<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)

    最新隨筆

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲欧洲免费视频| 国产精品黄页在线播放免费| 国产精品久久久亚洲| 一个人看的在线免费视频| 亚洲а∨天堂久久精品| rh男男车车的车车免费网站| 日韩一卡2卡3卡4卡新区亚洲| 在线观看免费视频网站色| 国产亚洲福利精品一区| 好久久免费视频高清| 亚洲成色在线影院| 免费A级毛片无码A∨免费| 亚洲av无码电影网| 免费看片A级毛片免费看| 亚洲AV无码一区二区一二区| 四虎影在线永久免费四虎地址8848aa| 亚洲国产欧美日韩精品一区二区三区| 国产精品免费看久久久无码| 亚洲精品国产日韩无码AV永久免费网| 亚洲日韩中文字幕在线播放| 日本一卡精品视频免费| 99热亚洲色精品国产88| 国产免费资源高清小视频在线观看| 青青草97国产精品免费观看 | 国产亚洲精品a在线观看| 精品无码国产污污污免费网站国产| 亚洲第一福利视频| 性做久久久久久久免费看| 黄页免费视频播放在线播放| 亚洲不卡中文字幕无码| 在线观看AV片永久免费| 日日摸夜夜添夜夜免费视频| 亚洲AV午夜成人影院老师机影院| 曰批视频免费30分钟成人| 边摸边吃奶边做爽免费视频99| 亚洲老妈激情一区二区三区| 成人性生交大片免费看无遮挡 | baoyu777永久免费视频| 亚洲国产视频久久| 国产亚洲精品激情都市| 国产92成人精品视频免费|