【发布时间】:2009-10-02 08:24:28
【问题描述】:
如何从 Groovy / Grails 应用程序调用本机 shell 脚本?
shell 脚本驻留在同一台机器上。
【问题讨论】:
如何从 Groovy / Grails 应用程序调用本机 shell 脚本?
shell 脚本驻留在同一台机器上。
【问题讨论】:
将名称(最好是绝对路径)和参数放在一个列表中并调用execute():
['/path/to/script', 'arg1', 'arg2'].execute()
Groovy documentation 建议改用简单的字符串。我不建议这样做,因为它可能会导致特殊字符、参数中的空格等各种问题。
【讨论】:
['sh', '/home/path/to/script.sh', str].execute() 也必须有效。此外,当str 包含特殊字符时也可以使用。如果脚本确实是可执行的,那么脚本的第一行在某种程度上是错误的。这就是最初的 sh 修复的问题。
您可以使用 Groosh 模块 (link)
【讨论】: