菜鸟笔记
提升您的技术认知

执行shell脚本报错 cannot execute binary file-ag真人游戏

现象:我本地编写了shell脚本,拷贝到某台suse11服务器上执行正常,到suse10机器上就报错了

通常情况下这个错误的原因有以下几个

1、可能是没有执行权限;

2、可能是32位机器跑了64位写的程序;

3、可能用了arm机器跑x86生成的代码。

然而我这个就是个shell文件,不至于啊,一google也没有类似案例,用file命令一查,清楚了

# file newmemenv.sh 
newmemenv.sh: utf-8 unicode text

正常机器上

# file newmemenv.sh 
newmemenv.sh: utf-8 unicode (with bom) text

问题清楚了,我在windows下编辑的文件虽然是utf-8的,但是windows加上了隐藏字符,导致linux下执行时解析shell文件报错,不认为是可执行文件

使用notepadd 修改编码为utf 无bom后,问题解决
为什么拷贝过去到suse11上没问题,suse10上有问题呢?正好suse11的bash兼容了bom字符处理了呗

网站地图