java - 在路径中使用波浪号执行 bash 脚本

标签 java linux bash exec

我正在尝试在 linux 中执行:

command[0] = "~/test/bin/runScript_sh";
Runtime.getRuntime().exec(command);

但是得到一个异常 java.io.IOException: 无法运行程序
error=2, 没有那个文件或目录

可能是因为它无法计算代字号。

可以做什么?

最佳答案

我会自己更换它。

if(path.s.substring(0,1).contains("~"))
    path = path.replaceFirst("~",System.getProperty("user.home"));

这会为您提供所需的字符串。

关于java - 在路径中使用波浪号执行 bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15273524/

相关文章:

java - 为什么服务器端套接字在读取 "\n.\n"后没有收到消息

java - 准备语句回调; JDBC Spring 中的错误 SQL 语法

c - Linux 接收 ttycontrol 程序的信号中断

linux - 找不到 [No such file or directory] ​​错误,即使该文件存在于 RH Linux 6.2 上的该目录中

linux - 为什么命令在运行之前会被 Bash 展开?

bash - 从YouTube GData API检索随机视频

java - 如何打包存储的文件

java - 为什么要使用与它们所在的当前类相同类型的变量?

linux - 在 Linux 上的 lldb 中打开 .NET Core 2.0 转储 - 哪个 lldb 版本?

mysql - 在 bash 中的 for 循环中使用数组