bash-传递没有正确结果的值
我的代码如下:bash-传递没有正确结果的值,bash,pass-by-value,Bash,Pass By Value,我的代码如下: vpnname="test vpn" booleanCheck(){ echo $1 if (statement) then sendMail $1 } sendMail(){ mailsubject = "subject test for - $1" } if ! ping 8.8.8.8 then then checkIfSendEmail
vpnname="test vpn"
booleanCheck(){
echo $1
if (statement) then
sendMail $1
}
sendMail(){
mailsubject = "subject test for - $1"
}
if ! ping 8.8.8.8 then
then
checkIfSendEmail "$@$vpnname"
fi
我最后一行的第二个值大大传递到booleanCheck()
,但一旦到达sendMail()
,该值就会丢失。
我做错了什么
我尝试在函数sendMail()
中通过“$1”
或'$1'
或$$1
显示它,但没有结果在传递时将所有变量用双引号括起来,这样中间的任何空格都不会被拆分:
booleanCheck(){
echo "$1"
if (statement) then
sendMail "$1"
fi
}
推荐使用:用于消除这些明显的不良做法。您的代码看起来不整洁,例如,您的双
然后和缺少fi
怎么办?您是否希望ping
自动退出?它们只是片段,以确保我只显示最重要的部分