Я написал функцию с именем 'connectTo', которая принимает параметры с именем 'options', и она должна возвращать некоторую строку, повторяя перед возвратом.
connectTo ${options}
это работает, т.е. в этом случае передаются аргументы, но когда янапишите
str=$(connectTo ${options})
тогда connectTo работает так, как если бы не было передано никаких аргументов> Я новичок в сценариях оболочки и, очевидно, что-то делаю не так, но что?(помните, мне нужна строка, возвращаемая функцией fuction, которая не может быть глобальной переменной)
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}
аргументы выводятся на печать, тогда как во втором случае они не