• <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
            天天综合久久一二三区| 久久噜噜电影你懂的| 精品久久久久久中文字幕大豆网 | 久久久久亚洲av无码专区导航| 无码日韩人妻精品久久蜜桃| 夜夜亚洲天天久久| 亚洲精品国产字幕久久不卡| 色综合久久中文色婷婷| 成人久久免费网站| 一本大道加勒比久久综合| 亚洲午夜久久久久久噜噜噜| 伊人久久免费视频| 久久精品国产亚洲av水果派| 久久综合成人网| 国产精品久久久久9999| 2020国产成人久久精品| 精品无码久久久久久国产| 久久久久久久综合日本亚洲| 久久亚洲AV成人无码国产| 狠狠色丁香婷婷久久综合五月| 欧美综合天天夜夜久久| 韩国三级大全久久网站| 久久久久亚洲AV无码网站| 久久久亚洲裙底偷窥综合| 亚洲伊人久久综合影院| 亚洲国产精品成人AV无码久久综合影院| 久久综合中文字幕| 国产精品视频久久久| 韩国三级大全久久网站| 久久香蕉国产线看观看99| 丁香五月网久久综合| 精品免费tv久久久久久久| 国内精品伊人久久久久av一坑| 亚洲AV日韩精品久久久久久| 久久夜色精品国产亚洲| 国产精品久久久久久久久久影院| 欧美伊人久久大香线蕉综合69| 久久久久这里只有精品| 狠狠色丁香久久婷婷综合_中 | 久久久久久久久久久免费精品| 国产69精品久久久久99|