<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 此號已被刪 閱讀(2903) 評論(0)  編輯  收藏 所屬分類: Linux

    導航

    統計

    常用鏈接

    留言簿(8)

    隨筆分類(83)

    隨筆檔案(78)

    文章檔案(2)

    相冊

    收藏夾(7)

    最新隨筆

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: **aaaaa毛片免费| 国产高潮久久免费观看| 69免费视频大片| 亚洲伦理一区二区| 久艹视频在线免费观看| 亚洲av永久无码精品表情包| 十八禁视频在线观看免费无码无遮挡骂过| 亚洲国产精品国产自在在线| 男人扒开添女人下部免费视频| 亚洲A∨精品一区二区三区| 免费中文字幕视频| 中文字幕中韩乱码亚洲大片| 你懂的免费在线观看| 日韩亚洲Av人人夜夜澡人人爽| 久久99国产综合精品免费| 亚洲激情视频图片| 国产成人免费一区二区三区| jizz免费在线观看| 亚洲一区免费观看| 成人免费视频小说| 无码免费又爽又高潮喷水的视频 | 亚洲日韩精品A∨片无码| 国产精品网站在线观看免费传媒| 久久综合亚洲鲁鲁五月天| 在线观看免费成人| 久久免费观看视频| 亚洲精品视频在线免费| 日日操夜夜操免费视频| 丝袜足液精子免费视频| 亚洲va乱码一区二区三区| 国产成人免费永久播放视频平台 | 亚洲午夜久久久影院伊人| 特级精品毛片免费观看| 亚洲日韩AV无码一区二区三区人| 亚洲国产精品一区二区九九 | 女人让男人免费桶爽30分钟| 人成午夜免费大片在线观看| 久久精品国产亚洲精品2020| 国产精品免费看香蕉| 三年片在线观看免费观看大全一| 亚洲日本在线电影|