java-当Runtime.getRuntime().exec调用Linux批处理文件找不到其物理目录时

这个问题已经在这里有了答案:            >            Get the source directory of a Bash script from within the script itself                                    58个
我有一个Java应用程序,并且我使用Runtime.getRuntime().exec来调用批处理文件.当我使用Runtime.getRuntime().exec来调用Linux批处理文件时,该批处理文件找不到自己的目录.
我在批处理文件中使用了pwd命令,但它返回了应用程序路径.
我需要批处理文件自身的物理路径.
我怎样才能做到这一点?

解决方法:

您必须使用ProcessBuilder才能完成:

ProcessBuilder builder = new ProcessBuilder( "pathToExecutable");
builder.directory( new File( "..." ).getAbsoluteFile() ); //sets process builder working directory

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...