最近,我在Windows机器上的Notepad ++中编写了一个shell脚本。但是当我将这个脚本转移到Linux盒子时,我观察到包含 - (破折号或连字符或减号)符号的命令被替换为< 96>。例如原始命令如下 -
unzip -d $dir_to_unzip file.zip
但是当转移到Linux服务器时,它变得如下 -
unzip <96>d $dir_to_unzip file.zip
我不是Unix专家,无法找到导致此更改的原因以及如何更正。任何帮助将非常感激。
答案 0 :(得分:1)
Notepad ++有一组用于指定编码的菜单。快速检查其默认值(UTF-8无BOM)不会为简单的shell脚本提供非ASCII文本。你可以通过从一些网页(通常是错误编码)将文本粘贴到Notepad ++中来获得这个例子。
但是,为确保获得预期的结果,可以使用Notepad ++菜单覆盖编码,然后重新保存文件。除了UTF-8,其他可能有用的选择包括(通过“西欧”的级联菜单......)ISO-8859-1。
你应该避免在Notepad ++中使用“ANSI”,因为它是一个含糊不清的术语,包括导致你出现问题的字符重新定义。有关此问题的进一步讨论,请参阅
答案 1 :(得分:0)
您必须弄清楚如何在记事本中键入真实(ASCII)减号,或者您必须避免使用Windows机器编辑打算在linux或unix主机上使用的ASCII文本文件。 / p>