脚本错误

原创 2007年09月26日 16:46:00
运行脚本,出现"bad interpreter: No such file or directory''错误。开始以为是解释器的问题,但解释器是存在的,而且没有问题。后面google一下,原来是文本格式问题。
-------------------------------------------
从脚本及报告的错误看来, 很有可能脚本文件是DOS格式的, 即每一行的行尾以/r/n来标识, 其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里面有没有程序要用到的每一个命令(没指定绝对路径的那种). 小的程序, 可以一行一行核对.
 

在 Shell 脚本中执行语法检查调试模式

shell 脚本调试系列Linux 中启用 Shell 脚本的调试模式在 Shell 脚本中执行语法检查调试模式 在 Shell 脚本中跟踪调试命令的执行概述写完脚本后,建议在运行脚本之前先检...
  • yangshangwei
  • yangshangwei
  • 2017年01月15日 20:14
  • 2665

让 shell 脚本在关键语句出错时终止执行

原帖:http://zhangbin.cc/2011/04/23/shell-exit-on-error/ 最近写了一个 shell 脚本, 里面有类似这样的语句: cd $S...
  • rainharder
  • rainharder
  • 2015年03月30日 14:37
  • 15729

Ubuntu16.04 报错信息处理

更新Ubuntu系统过程中,提示/boot 空间不足。 解决了 /boot 空间不足、 已安装 post-installation 脚本 返回错误状态 1、 新的 pre-removal 脚本 返回错...
  • ericcchen
  • ericcchen
  • 2017年05月18日 13:44
  • 2094

超水浏览器,脚本错误

  • 2014年05月12日 10:17
  • 357KB
  • 下载

脚本回放错误解决

  • 2012年06月06日 15:41
  • 33KB
  • 下载

dnf 错误[14001]:未找到fmdeox.dll 修复脚本

  • 2015年11月08日 12:28
  • 1KB
  • 下载

mfc脚本运行错误改注册表方法

  • 2011年12月29日 23:34
  • 225B
  • 下载

出现IE脚本错误

  • 2014年08月27日 22:47
  • 292B
  • 下载

脚本错误WIN7解决方法

  • 2013年07月24日 23:30
  • 313KB
  • 下载

脚本错误WINXP解决方法

  • 2013年07月24日 23:29
  • 296KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:脚本错误
举报原因:
原因补充:

(最多只允许输入30个字)