最近,我在Windows机器上使用Notepad++编写了一个shell脚本。但是当我将此脚本转移到Linux机器时,我发现包含 -(破折号或减号)符号的命令被替换为<96>。例如,原始命令如下 -
unzip -d $dir_to_unzip file.zip
但是当转移到Linux服务器时,它变成了以下这样-
unzip <96>d $dir_to_unzip file.zip
我不是Unix专家,无法找到导致这种变化的原因以及如何进行更正。非常感谢任何帮助。
你要么得弄清楚如何在记事本中输入一个真正的(ASCII)减号,要么就得避免使用你的Windows机器来编辑用于Linux或Unix主机的ASCII文本文件。
0x96
是 Windows-1252 字符集中表示–
EN DASH 字符的代码。原始命令没有您想要的连字符,而是一个 EN DASH 字符的表示。这两个字符在 Windows 上看起来非常相似,但 Linux 不使用 Windows-1252 字符集,因此0x96
是一些不可打印的控制字符,会被呈现为<96>
。(EN DASH 的 Unicode 代码是0x2013
。) - undefined