我正在尝试创建一个函数,并相信我找到了一个很好的工作示例,但我不理解其背后的所有逻辑。
更具体地说,在“ while”这一行中,有人可以解释一下什么是测试吗?$#是什么(不是#注释字符?),-gt 0参数来自何处?在while手册页中找不到它。
这是示例:
function my_function()
{
while test $# -gt 0
do
$
echo "$1"
shift
done
}
谢谢你。
尽管#
它本身绝对是注释,但$#
包含传递给函数的参数数量。
test
是一个程序,可让您执行各种测试,例如,如果一个数字大于另一个数字(如果您的运算符为-gt
,则有许多其他运算符,请参见man test
)。如果测试成功(在这种情况下,如果the number of parameters
IS大于0),它将返回成功。
该shift
命令将丢弃第一个参数。它也减少$#
整个代码可以看作是:对参数进行某些操作(在这种情况下,将其显示在屏幕上),然后将其丢弃;重复直到没有剩余参数为止。
如果要查看剩下的所有对调试有用的参数,请检查以下内容: $@
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句