在Windows中创建的mac命令文件中的换行符

时间:2014-05-22 14:25:39

标签: windows macos bash newline line-endings

我正在使用JavaScript activexobject在Windows中创建一个命令文件。

双击后,此文件将在Mac上运行。

我正在将文件写为

script.write("#!/bin/bash\r");
script.write('cd "$(dirname "$0")"\r');

附加\r适用于以Mac结尾的回车行。

但这不起作用。该命令不会执行刚开始和结束。没有cd发生。

我确信这个问题与行结尾有关,因为当我使用TextEdit在Mac中打开命令文件后编辑行结尾(通过删除换行并再次使用返回键添加换行符)时,它可以正常工作。

如何在write方法中解决这个问题?

1 个答案:

答案 0 :(得分:3)

你应该尝试写' \ n'而不是' \ r'。回车仅用于OSX之前的机器。

如果您想直观地看到行结尾,可以在Mac上打开vim并输入:set list。所有新行都将显示为$,并且回车符为^ M.如果这是一台OSX机器,你应该只看到$。