username="hello"
password="3333"
function login {
# 1 - Username
# 2 - Password
match=0
cat LoginsMaintMenu.txt | while read line; do
x=`echo $line | awk '{print $1}'`
y=`echo $line | awk '{print $2}'`
if [ "${x}" == "${1}" ] && [ "${y}" == "${2}" ]; then
echo "match"
match=1
echo $match
break
fi
done
echo $match
return $match
}
echo $username $password
login ${username} ${password}
if [ $? -eq 0 ]; then
echo "FAIL"
else
echo "success"
fi
输出:
hello 3333
match
1
0
FAIL
问题:我不明白为什么它在呼应“失败”。“match”变量在while循环中被设置为1,但由于某种原因,一旦我退出while循环,它仍然认为它是其声明中的初始零。
我尝试过做很多不同的事情,所以如果有人能给我一些具体的尝试,那就太好了!
谢谢