如何将 shell 脚本的整个参数列表传递给程序?
例如,如果我有一个名为 JavaFoo 的 Java 程序,它可以接受任意数量的参数,这应该在我的脚本中调用。
如何将脚本的参数传递给 java 程序?
如何将 shell 脚本的整个参数列表传递给程序?
例如,如果我有一个名为 JavaFoo 的 Java 程序,它可以接受任意数量的参数,这应该在我的脚本中调用。
如何将脚本的参数传递给 java 程序?
在 Bash 中:
#!/usr/bin/env bash
java /path/to/JavaFoo "$@"
将所有参数单独引用为传递给 Bash 脚本本身。也适用于 Dash,但我不知道其他与 Bourne 兼容的 shell。
假设您想将除第一个参数之外的所有参数传递给 Java 程序的 shell 脚本,使用shift
如下:
#!/usr/bin/env bash
shift
java /path/to/JavaFoo "$@"
shift
如果需要,在传递参数之前使用更多实例来删除更多参数。
假设你调用 shell 脚本 ( myscript
) 如下:
./myscript a b c
将shift
摆脱a
。再加一个shift
,它也摆脱了b
。"$@"
即使您可以像$0
在许多 shell 中一样访问它,脚本本身的名称也不包括在内。