Bash在变量中转义@符号
我对Bash脚本中的if语句有问题。代码如下:Bash在变量中转义@符号,bash,sed,Bash,Sed,我对Bash脚本中的if语句有问题。代码如下: if [[ "$AppleID" -ne "" ]]; then echo "<result>${AppleID}</result>" else echo "No user logged in." fi 我尝试使用sed来转义角色,如下所示: if [[ `echo $(printf '%q' $AppleID) | sed -e 's/[\/&]/\\&/g'` -ne "" ]]; th
if [[ "$AppleID" -ne "" ]]; then
echo "<result>${AppleID}</result>"
else
echo "No user logged in."
fi
我尝试使用sed来转义角色,如下所示:
if [[ `echo $(printf '%q' $AppleID) | sed -e 's/[\/&]/\\&/g'` -ne "" ]]; then
但我也犯了同样的错误。如何转义@符号?-ne用于比较整数。你想要,或者更好的方法是使用-n测试其参数是否为非空字符串:
if [[ -n "$AppleID" ]]; then
echo "<result>${AppleID}</result>"
else
echo "No user logged in."
fi
-ne用于比较整数。你想要,或者更好的方法是使用-n测试其参数是否为非空字符串:
if [[ -n "$AppleID" ]]; then
echo "<result>${AppleID}</result>"
else
echo "No user logged in."
fi
我对bash很陌生…:非常感谢你!我对bash很陌生…:非常感谢你!