【问题标题】:get the list of arguments sent to a shell script获取发送到 shell 脚本的参数列表
【发布时间】:2014-04-03 10:44:45
【问题描述】:

我正在从 Java 程序向我的 shell 脚本发送参数,我知道代码会访问 shell 脚本并发送参数,但我看不到这些参数。 我怎样才能得到他们的名单?

【问题讨论】:

  • 你的意思是在shell脚本中?如果是这样,您尝试过$@ 吗?
  • 我试过了,奇怪的是之前没用,现在可以了。干杯

标签: shell parsing arguments


【解决方案1】:

您可以使用以下命令查看传递给 shell 脚本的参数列表:

echo $@

如果你想单独遍历参数使用echo $N,但是如果参数没有在第N个位置传递echo $N不会抛出任何错误,而是不会显示任何内容。

您可以使用echo $# 找出号码。传递的参数个数。

【讨论】:

  • echo $@ 确实显示了参数列表,但 echo $N 输出 0。这是否意味着参数未在第 N 个位置传递?我可以将它们放在正确的位置迭代它们吗?
  • 表示参数在nth位置,它的值为0。你可以检查一下。使用echo $# 传递的参数,但是我认为您不能更改传递的实际参数的位置。尽管您可以将它们复制到另一个数组中并对其进行操作。