【发布时间】:2018-11-16 09:02:21
【问题描述】:
我写了一个名为“connectTo”的函数,它接受名为“options”的参数,它应该在返回之前通过回显返回一些字符串。
connectTo ${options}
这可行,即参数在其中传递,但是当我写时
str=$(connectTo ${options})
然后 connectTo 就像没有传递任何参数一样工作> 我是 shell 脚本的新手,显然做错了什么,但是什么? (记住我需要一个不能是全局变量的函数返回的字符串)
function connectTo(){
local flag=false
local str=""
for i in $@; do
if [ "$flag" = true ]; then
str=$i
flag=false
elif [[ "$i" = "--foo" || "$i" = "-f" ]]; then
flag=true
fi
echo "$i"
done;
if [ "$str" = "" ]; then
echo ""
return 0
fi
echo "found"
return 0
}
在connectTo ${options} 的情况下,参数会被打印,而在第二种情况下则不会
【问题讨论】:
标签: shell parameters return-value