来自Unix的Shell脚本未在其他操作系统上运行

时间:2016-03-13 12:10:12

标签: shell unix

我有一个在SCO Unix 5.0.6上运行的shell脚本。问题是当我使用SCO Unix 5.0.7(以及其他操作系统)将脚本复制到另一台机器时,它没有运行。它显示语法错误。

请注意,当我复制所有指令并将其粘贴到命令行中时,它们可以完美地工作。但是,正如我所说他们不是一个脚本文件。

作为脚本中的例子,我有:

case "${MODUS}" in

我得到以下错误:

syntax error near unexpected token '$'in\r''

根据错误,在我看来,每条指令末尾都会添加一些内容。

在某些情况下,如果错误发生在指令的末尾,我可以解决问题。我在每条指令的末尾添加一个空格和#(将剩余行视为注释)。然后它工作。但是,问题在于我无法为所有指令执行此操作。在某些情况下,错误位于指令的中间,然后(空间#)不起作用。

请让我知道错误的原因是什么,我该如何解决。

1 个答案:

答案 0 :(得分:4)

看起来你的脚本有DOS行结尾,错误甚至提到它:in\r。你需要删除它们。