![从 Bash 调用 java:“无法执行二进制文件”](https://linux22.com/image/26777/%E4%BB%8E%20Bash%20%E8%B0%83%E7%94%A8%20java%EF%BC%9A%E2%80%9C%E6%97%A0%E6%B3%95%E6%89%A7%E8%A1%8C%E4%BA%8C%E8%BF%9B%E5%88%B6%E6%96%87%E4%BB%B6%E2%80%9D.png)
我有这个简单的 Bash 脚本:
#!/bin/bash
java -jar ClosureCompiler/compiler.jar --js ../src/typescript.js --js ../src/ts-compiler.js --js_output_file TSCompiler.js
build.sh
当我尝试在 Windows 下的 MSYS 环境中运行脚本时,出现此错误(64 位!):
./build.sh: ./build.sh: cannot execute binary file
但如果我直接在命令行窗口中输入命令,该命令本身就可以工作!
答案1
该文件被编码为UCS-2 Little Endian
!
将编码更改为UTF-8 without BOM
解决了这个问题。