从 Java/Groovy 进程调用 ZSH 命令

Invoking ZSH commands from Java/Groovy Process

运行 下面的 Groovy 代码给我错误 : unmatched '

Process process = "zsh -c 'ls -l'".execute()

但是,以下工作正常Process process = "zsh -c ls".execute()

如何调用带有多个标志的 zsh 命令?

从不曾经使用String.execute() - 它会在空格处拆分,并且只对非常简单的命令有效。在任何情况下,引用的尝试都是徒劳的,因为这里没有使用 shell 来解析字符串。

始终使用 List.execute()。例如

["zsh", "-c", "ls -1"].execute()