|
现在在做Broadcom的BCM2157平台,发给我们的平台源码包里只提供了一个patch,需要先从网上下载指定的Android源码,给的文档里下载源码的部分所用的命令很多都不能使用了,不知道为什么。按照常规的办法下载里指定的版本,在执行shell文件打patch时结果报如下错误: allen@dell-ubuntu:~/work$/bin/bash^M:损坏的解释器: 没有那个文件或目录 在网上查询得到如下信息: 有时候编写脚本时会出现类似标题列出的错误,这个问题大多数是因为你的脚本文件在windows下编辑过。windows下,每一行的结尾是\n\r,而 在linux下文件的结尾是\n,那么你在windows下编辑过的文件在linux下打开看的时候每一行的结尾就会多出来一个字符\r,用cat -A filename时你可以看到这个\r字符被显示为^M,这时候只需要删除这个字符就可以了。可以使用命令sed -i 's/\r$//' filename 。 看来发给我们的这个.sh文件在windows下编译过。执行如下命令OK了: allen@dell-ubuntu:~/work$ sed -i 's/\r$//' apply_brcm_patch.sh |
bash文件无法运行,提示没有那个文件或目录的解决方法
本文介绍了一种常见的bash脚本错误:“损坏的解释器:没有那个文件或目录”,该问题通常发生在从Windows环境中编辑并转移到Linux环境的脚本中。文章详细解释了错误产生的原因,并给出了解决方案——如何通过sed命令移除多余的
字符。
2011-04-20 14:07





