zoukankan      html  css  js  c++  java
  • dos2unix(windows脚本文件放到unix下运行要注意)

    在windows下编写的shell脚本文件,直接放到linux下运行,是不行的。

    infiniDB的倒库脚本文件load.sh,将tbl文件导入infiniDB,怎么运行不成功,不建job。运来,是windows 的文件不能放到linux下直接执行。

    vi编辑器打开文件,发觉每一行的最后有浅蓝色的字符'^M'。

    DOS下的文本文件是以 作为断行标志的,表示成十六进制就是0D 0A。而Unix下的文本文件是以 作为断行标志的,表示成十六进制就是 0A。DOS格式的文本文件在Linux底下,用较低版本的vi打开时行尾会显示^M。我的vi版本较高,看不到^M。

    vim 下, 用

    :%!xxd ——将当前文本转换为16进制格式。

    可以看到,0d0a字样。说明是windows文件。

    命令dos2unixunix2dos的使用非常简单,格式为:
    dos2unix filename

    dos2unixunix2dosdos2unix" "转化成" "unixtodos" "转化成" "

    1.如果一次转换多个文件,把这些文件名直接跟在dos2unix之后。(注:也可以加上-o参数,也可以不加,效果一样)

      格式:dos2unix file1 file2 file3

      格式:dos2unix -o file1 file2 file3

    2.如果想把转换的结果保存在别的文件,而源文件不变,则可以使用-n参数。

      格式:dos2unix -n oldfile newfile
     
    3.如果要保持文件时间戳不变,加上-k参数。所以上面几条命令都是可以加上-k参数来保持文件时间戳的。
      格式:dos2unix -k file
      格式:dos2unix -k file1 file2 file3
     
    一个在Windows下面生成的脚本文件,当上传到unix下后事无法直接运行,需要完成文件格式的转变才行.
  • 相关阅读:
    Sql Server 2008卸载后再次安装一直报错
    listbox 报错 Cannot have multiple items selected when the SelectionMode is Single.
    Sql Server 2008修改Sa密码
    学习正则表达式
    Sql Server 查询第30条数据到第40条记录数
    Sql Server 复制表
    Sql 常见面试题
    Sql Server 简单查询 异步服务器更新语句
    jQuery stop()用法以及案例展示
    CSS3打造不断旋转的CD封面
  • 原文地址:https://www.cnblogs.com/cl1024cl/p/6205515.html
Copyright © 2011-2022 走看看