Java,Runtime.exec或ProcessBuilder:如何知道文件是shell还是二进制文件?

Java,Runtime.exec或ProcessBuilder:如何知道文件是shell还是二进制文件?

我正在寻找一种最有效的方式来决定: 我应该预先提供用户提供的命令行与shell可执行文件 如果是,那可执行文件是什么? (/ bin / sh?/usr/bin/perl?/usr/bin/ksh?c:/../ cmd.exe?) 众所周知,要从Java启动shell脚本,应该启动shell: ProcessBuilder pb = n