linux - 执行第一行 linux bash 脚本时出错

标签 linux bash

我们使用notepad++ v6.4.5 在中文Windows XP sp3 中编辑Bash 脚本。编码格式为无BOM的UTF-8。第一行源码如下:

#!/bin/sh

源码在Centos 6.4 (Linux, LANG=en_US.UTF-8) 上执行。但是,我们收到以下错误消息:

for242.sh: line 1: 锘?!/bin/sh: No such file or directory

你能帮我们吗?多谢。 Centos linux配置如下:

[root@centos64 ]# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

最佳答案

看起来无论如何文件的开头都有一个BOM。这是 Windows 上的标准配置。如果您有 dos2unix 版本 6.0.0 或更高版本,则可以使用 dos2unix 删除 UTF-8 BOM。如果您没有此版本的 dos2unix,您可以自己构建它。从http://sourceforge.net/projects/dos2unix/获取

问候,

关于linux - 执行第一行 linux bash 脚本时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20483677/

相关文章:

java - 无法使用 java 运行时从 linux 平台上的另一个 jar 访问 jarfile

linux - 如何在for循环中调用变量作为变量名和变量值

c - 如何测量 linux 内核中的调度延迟?

bash - 如何拆分文件并并行处理它们,然后将它们拼接回去? unix

mysql - Bash 脚本 Mysql 警告 : Using a password on the command line interface can be insecure

linux - KVM guest 操作系统启动错误

linux - 找到稍微扭曲的固定宽度文件的长度

python - 从 django 查看脚本运行 linux 命令

linux - 使用 AWK -Bash 拆分和写入文件

linux - Bash 加入数组