我不明白爲什麼userType沒有改變。這個Bash腳本爲什麼不改變字符串的值?
我確切地知道它的成功達到determineType,但不改變價值「BBB」,當我嘗試後打印出USERTYPE。
userType="aaa"
function determineType {
userType="bbb"
}
function checkUser {
cat users.csv | \
while read userLine; do
if [[ $userLine =~ .*$user.* ]]
then
determineType
echo "1"
fi
done
echo "0"
}
如果您可以以某種方式改變問題,使其不那麼本地化並且對其他人更有用,那將會很好。 –
你的'while'循環是一個全新的subshell http://stackoverflow.com/questions/124167/bash-variable-scope – soulseekah
看看「全局與本地」bash變量。 http://www.thegeekstuff.com/2010/05/bash-variables/ – cb0