• Dos与Linux的断行字符


    Symptom###

    Dos和Linux下面的断行字符是不一样的,至于哪里不一样的呢,先举个例子看一看

    Cause###

    我们也可以使用cat -A filename分别查看Dos和Linux下创建的文件,会发现Dos下面以^M$作为断行符,称为CR与LF两个字符( ),Linux下面仅以$(LF)作为断行符( )。这个断行符对Linux影响是很大的,如果这一点不清楚在编写shell的时候很容易踩进坑,却不知道问题在哪,说多了都是泪。
    Linux下命令在开始执行的时候它的判断依据是Enter,linux的EnterLF符号。而Dos下面多了一个^M符号。在这样的情况下,如果是一个shell script 的程序文件,将可能造成程序不能运行的状态。
    所以不建议在Win下面把文件编辑好再上传到服务器这种做法,这样会很容易出现错误,如果你这样做了,并且出现了问题,请往下面看。

    Resolution###

    将格式转化为Linux即可,一种可行的方式是使用命令来进行格式转换dos2unix

    dos2unix [-kn] file [newfile]
    -k:保留该文件的mtime,即不更新文件的上次的修订实践
    -n:保留原本的旧文件,如果将转换后的内容输出到新的文件,如:dos2unix -n old new
    

    相应对的还有unix2dos,这里就不做赘述。

  • 相关阅读:
    【模板】二分
    电脑桌面美化
    浪在ACM新春大作战
    【递归入门】组合+判断素数:dfs(递归)
    【递归入门】组合的输出:dfs
    01背包问题:DP
    [蓝桥杯][历届试题]回文数字
    洛谷 P1706 全排列问题 :STL / dfs
    【模板】DFS
    洛谷 P1781 宇宙总统:sort(string)
  • 原文地址:https://www.cnblogs.com/wxshi/p/7899022.html
Copyright © 2020-2023  润新知