【发布时间】:2012-08-21 03:11:57
【问题描述】:
我必须在 bash 中编写一个函数。该函数将接受大约 7 个参数。我知道我可以调用这样的函数:
调用带参数的函数:
function_name $arg1 $arg2
我可以在函数内部这样引用我的参数:
function_name () {
echo "Parameter #1 is $1"
}
我的问题是,有没有更好的方法来引用函数内部的参数?我可以避免使用 $1, $2, $3, .... 的东西而只使用 $arg1, $arg2, ...吗?
是否有合适的方法或者我需要将这些参数重新分配给函数内的其他一些变量?例如:
function_name () {
$ARG1=$1
echo "Parameter #1 is $ARG1"
}
任何示例将不胜感激。
【问题讨论】:
-
使用
$1和$ARG1有什么区别? -
@JonLin:我可以使用更直观的名称,而不是 $1、$2。这些数字令人困惑。
-
你真的需要七个强制参数吗?一种常见的方法是将尽可能多的选项转换为选项,并在有意义的地方提供默认值。如果您不必为如此大量的参数记住特定的位置顺序,即使大多数用户大部分时间会覆盖默认值,它也会使您的脚本更易于使用。
-
嘿@Bhushan!我想我有一个解决方案给你。我已经发布了答案:stackoverflow.com/questions/12128296/…