我不知道你从哪里来的
program,但看来它坏了。这是用bash编写的正确方法:
#!/bin/bashfor arg in "$@"; do echo "$arg"done
这会将每个参数打印在单独的行中,以使它们更易于区分(当然,包含换行符的参数会出现问题,但我们不会传递此类参数)。
将以上内容另存为
program并授予其执行权限后,请尝试以下操作:
$ args='"Hello there"'$ ./program "${args}""Hello there"而
$ args='"Hello there"'$ ./program ${args}"Hellothere"


