zoukankan      html  css  js  c++  java
  • 转 Dos和linux格式转换(转)

    错误提示:

    bad interpreter: No such file or directory: /bin/sh

    错误分析:

    因为操作系统是windows,在windows下编辑的脚本,所以有可能有不可见字符。

    解决办法:

    首先要确保文件有可执行权限
    #chmod a+x filename

    然后修改文件格式
    #vi filename

    利用如下命令查看文件格式
       :set ff  或 :set fileformat

    可以看到如下信息
       fileformat=dos 或 fileformat=unix

    利用如下命令修改文件格式
       :set ff=unix 或 :set fileformat=unix

       :wq (存盘退出)

    最后再执行文件
    #./filename

    Fortran的一个程序之后,却用原来的调用脚本怎么也没法执行,问题如标题,最好找到这篇文章,恍然大悟。

    Linux下面一个脚本死活也运行不了, 我检查了数遍,不可能有错。快Insane啦!

    提示:bad interpreter:No such Ref="tag-870-1.html">File or directory

    上网上找了好久,总算发现原来是文件格式的问题。这个文件是我在Windows下编写的。

    换行的方式与Unix不一样,但是在VI下面如果不Set一下又完全看不出来。

    气晕过去了~~~希望不会有人跟我一样倒楣,花了好几个小时in vain!!

    解决方法:

    1、程序是在一个网站上看到的,我保存下来,大致修改了一下。

    2、上传到linux主机运行

      chmod +x back

      ./back

      错误提示如下:

      bash: ./back : bad interpreter:No such file or directory

    3、错误分析:

    因为操作系统是windows,我在windows下编辑的脚本,所以有可能有不可见字符。

    从你的脚本及报告的错误看来, 很有可能是你的脚本文件是DOS格式的, 即每一行的行尾以 来标识, 其ASCII码分别是0x0D, 0x0A.

    可以有很多种办法看这个文件是DOS格式的还是UNIX格式的, 还是MAC格式的

    (1). vi filename

    然后用命令

    :set ff?

    可以看到dos或unix的字样. 如果的确是dos格式的, 那么你可以用set ff=unix把它强制为unix格式的, 然后存盘退出. 再运行一遍看.

    (2). 用joe filename

    如果是DOS格式的, 那么行尾会有很多绿色的^M字样出现. 你也可以用上述办法把它转为UNIX格式的.

    (3). 用od -t x1 filename

    如果你看到有0d 0a 这样的字符, 那么它是dos格式的, 如果只有0a而没有0d, 那么它是UNIX格式的, 同样可以用上述方法把它转为UNIX格式的.

    转换不同平台的文本文件格式可以用

    1. unix2dos或dos2unix这两个小程序来做. 很简单. 在djgpp中这两个程序的名字叫dtou和utod, u代表unix, d代表dos

    2. 也可以用sed 这样的工具来做:

    sed 's/^M//' filename > tmp_filename

    mv -f tmp_filename filename

    来做

    特别说明:^M并不是按键shift + 6产生的^和字母M, 它是一个字符, 其ASCII是0x0D, 生成它的办法是先按CTRL+V, 然后再回车(或CTRL+M)

    另外, 当SHELL程序报告command not found时, 总是去检查一下你的PATH里面有没有程序要用到的每一个命令(没指定绝对路径的那种). 你这么小的程序, 可以一行一行核对.

  • 相关阅读:
    第八章 多线程编程
    Linked List Cycle II
    Swap Nodes in Pairs
    Container With Most Water
    Best Time to Buy and Sell Stock III
    Best Time to Buy and Sell Stock II
    Linked List Cycle
    4Sum
    3Sum
    Integer to Roman
  • 原文地址:https://www.cnblogs.com/xzjf/p/9054712.html
Copyright © 2011-2022 走看看