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