我想创建一个 bash 函数,该函数遍历数组并0
在数组中不存在作为参数传递的元素时返回,1
否则返回。
但是,以下代码不会在stdout
.
function checkparsed {
tocheck="$1"
shift
for item in $@
do
if [ "$item" = "$tocheck" ]; then
return 0
fi
done
return 1
}
mdfiles=('foo')
echo "$(checkparsed foo ${mdfiles[@]})"
您正在捕获函数的输出(没有)。
要打印0
或1
,可以echo
直接在函数中使用它们(不要忘记return
),或者echo $?
在运行函数后使用。
要处理 中元素中的空格和 glob 字符${mdfiles[@]}
,您应该使用双引号:
for item in "$@"
# and
checkparsed foo "${mdfiles[@]}"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句