• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆-145  評論-173  文章-70  trackbacks-0
            Windows和Linux下面對于行末符的表示不同,Windows下面是\r\n,而Linux則是\n
            因此,如果在Windows下面編輯的腳本文件,如shell腳本文件,在Linux下面執(zhí)行失敗,會提示多一個(gè)^M符號,用VIM打開也會發(fā)現(xiàn)增加這個(gè)符號。

            解決辦法:
            1. 用VIM打開,設(shè)置編碼為unix
            :set fileformat=unix
            然后,保存,結(jié)尾unix格式。

            2. 使用VIM的替換功能,替換行末的\r符號即可
            :%s/^M//g

            3. 使用sed來進(jìn)行批量處理
             sed ’s/^M//’ filename > tmp_filename

            4. 批量處理(推薦使用)
            sudo apt-get install dos2unix
            find . * | xargs dos2unix (對當(dāng)前目錄下面的所有文件執(zhí)行轉(zhuǎn)換格式的命令)

            一個(gè)需要注意的點(diǎn):dos2unix需要root權(quán)限,我開始的時(shí)候沒有用sudo運(yùn)行,提示轉(zhuǎn)換失敗,后來利用sudo執(zhí)行即可。
            問題的根源來源于:
            在Windows下面拉取Git上面的代碼,結(jié)果給版本庫所有的文件都加上了行末符號,而在Linux下面再次編輯該文件就發(fā)現(xiàn)所有的問題都出現(xiàn)問題,提交的時(shí)候又不能
            把所有的文件都提交成Windows的編碼,因?yàn)檫@部分修改是沒有意義的,所以需要批量轉(zhuǎn)換。


            posted on 2012-07-07 22:54 deercoder 閱讀(2147) 評論(0)  編輯 收藏 引用 所屬分類: Unix/LinuxShell/Bash
            午夜精品久久久久久毛片| 久久香蕉一级毛片| 婷婷国产天堂久久综合五月| 久久久久香蕉视频| jizzjizz国产精品久久| 最新久久免费视频| 久久精品亚洲精品国产欧美| 久久精品欧美日韩精品| 精品久久亚洲中文无码| 亚洲欧美久久久久9999| 一个色综合久久| 久久久这里有精品| 一本色道久久HEZYO无码| 国产免费久久精品99久久| 久久久久AV综合网成人 | 久久精品国产亚洲av瑜伽| 国内精品久久久久久野外| 久久精品水蜜桃av综合天堂| 伊人久久大香线蕉AV色婷婷色| 亚洲欧美一区二区三区久久| 色综合久久中文色婷婷| 99久久国产综合精品五月天喷水 | 精品久久久久久久国产潘金莲| 久久免费精品一区二区| 成人免费网站久久久| 四虎久久影院| 久久午夜无码鲁丝片| 久久精品国产第一区二区| 久久精品国产亚洲av高清漫画| 99久久无色码中文字幕| 国产一区二区三精品久久久无广告 | 性做久久久久久免费观看| 久久久久亚洲精品天堂久久久久久| 婷婷综合久久中文字幕| 久久久99精品成人片中文字幕| 久久精品日日躁夜夜躁欧美| 亚洲AV无码久久精品成人 | 久久久受www免费人成| 亚洲国产成人精品女人久久久| 亚洲∧v久久久无码精品| 狠狠精品久久久无码中文字幕 |