我正在使用JavaScript activexobject在Windows中创建一个命令文件。
双击后,此文件将在Mac上运行。
我正在将文件写为
script.write("#!/bin/bash\r");
script.write('cd "$(dirname "$0")"\r');
附加\r
适用于以Mac结尾的回车行。
但这不起作用。该命令不会执行刚开始和结束。没有cd
发生。
我确信这个问题与行结尾有关,因为当我使用TextEdit在Mac中打开命令文件后编辑行结尾(通过删除换行并再次使用返回键添加换行符)时,它可以正常工作。
如何在write方法中解决这个问题?
答案 0 :(得分:3)
你应该尝试写' \ n'而不是' \ r'。回车仅用于OSX之前的机器。
如果您想直观地看到行结尾,可以在Mac上打开vim并输入:set list
。所有新行都将显示为$,并且回车符为^ M.如果这是一台OSX机器,你应该只看到$。