我有一段我不太明白的shell函数:
# Check if a value exists in an array
# @param $1 mixed Needle
# @param $2 array Haystack
# @return Success (0) if value exists, Failure (1) otherwise
# Usage: in_array "$needle" "${haystack[@]}"
# See: http://fvue.nl/wiki/Bash:_Check_if_array_element_exists
in_array() {
local hay needle=$1
shift
echo $hay
for hay; do
echo $hay
[[ $hay == $needle ]] && return 0
done
return 1
}
这是运行的输出:
$ in_array a b c a
b
c
a
如何hay
从命令行获取参数值?为什么在for
循环之前它是空的?如何hay
迭代地获取值?