bash - 按值传递,结果不正确
bash - pass by value with no correct result
我的代码如下:
vpnname="test vpn"
booleanCheck(){
echo
if (statement) then
sendMail
}
sendMail(){
mailsubject = "subject test for - "
}
if ! ping 8.8.8.8 then
then
checkIfSendEmail "$@$vpnname"
fi
我倒数第二行的值大大传递给了 booleanCheck()
,但是一旦达到 sendMail()
,该值就丢失了。
我做错了什么?
我尝试通过 ""
或 ''
或 $@
o </code> 在函数 <code>sendMail()
中显示它,但没有结果
将所有变量用双引号括起来同时传递这样中间的任何空格都不会被拆分:
booleanCheck(){
echo ""
if (statement) then
sendMail ""
fi
}
建议:使用 shellcheck 消除这些明显的不良做法。
我的代码如下:
vpnname="test vpn"
booleanCheck(){
echo
if (statement) then
sendMail
}
sendMail(){
mailsubject = "subject test for - "
}
if ! ping 8.8.8.8 then
then
checkIfSendEmail "$@$vpnname"
fi
我倒数第二行的值大大传递给了 booleanCheck()
,但是一旦达到 sendMail()
,该值就丢失了。
我做错了什么?
我尝试通过 ""
或 ''
或 $@
o </code> 在函数 <code>sendMail()
中显示它,但没有结果
将所有变量用双引号括起来同时传递这样中间的任何空格都不会被拆分:
booleanCheck(){
echo ""
if (statement) then
sendMail ""
fi
}
建议:使用 shellcheck 消除这些明显的不良做法。