zoukankan      html  css  js  c++  java
  • 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,这里就不做赘述。

  • 相关阅读:
    Python的内置模块itertools
    列表的sort()和sorted()方法
    Python面试
    数据分析相关概念
    数据分析中Numpy,Pandas,Matplotlib,scripy和Scikit-Learn等数据处理库...
    mysql数据库的语法及简介
    Cannot add foreign key constraint
    MySQL数据库重装
    MySQL数据库在Python中的操作
    Python中的取整函数
  • 原文地址:https://www.cnblogs.com/wxshi/p/7899022.html
Copyright © 2011-2022 走看看