【发布时间】:2012-11-13 23:03:45
【问题描述】:
在尝试将脚本参数传递给外部程序时,我遇到了一些奇怪的行为,在 ksh 中。
我的设置是这样的: - 我有一个 ksh 脚本(称为“测试”),可以归结为如下内容:
...
args="$@"
java my_main_class $args
...
- 如果我用类似这样的方式调用这个脚本:
> ./test "param1 param2" param3
...然后外部应用程序看到以下参数:(param1, param2, param3)
-
如果我将脚本更改为:
... java my_main_class "$@" ...
...并执行相同的调用,然后我的外部应用程序会看到以下参数 (param1 param2, param3) - 这意味着现在可以正确看到参数。
问题:如何修改我的第一个脚本版本,以便在外部程序调用之前正确传递包含空格的参数,同时仍将“@$”存储到变量中?
亲切的问候, 安德烈
【问题讨论】: