【发布时间】:2012-07-24 08:34:47
【问题描述】:
我将参数从 Java 程序传递到 shell 脚本,为此我在 shell 脚本中使用环境变量来接收参数。我可以使用 $9 获取参数直到没有 9。但是如果我得到第 10 个参数,我会得到一个错误。我正在使用 ${10} 来获取第 10 个参数的输入。我是不是在哪里出错了。
【问题讨论】:
-
您收到的确切错误消息是什么?
标签: shell
我将参数从 Java 程序传递到 shell 脚本,为此我在 shell 脚本中使用环境变量来接收参数。我可以使用 $9 获取参数直到没有 9。但是如果我得到第 10 个参数,我会得到一个错误。我正在使用 ${10} 来获取第 10 个参数的输入。我是不是在哪里出错了。
【问题讨论】:
标签: shell
我不确定${10} 格式,尽管它看起来很合理。但是,您可以使用shift 内置函数来重用$1。像这样。
#!/bin/sh
a=$1
shift
b=$1
echo "$a:$b"
你可以像这样运行它。
noufal@sanitarium% ~/foo.sh Hello Goodbye
Hello:Goodbye
【讨论】:
getopts。