我有一个BASH脚本,其条件与此相似:
dirImg="/var/log/junk"
sizeLimitMsg="1 gig"
if [ 0 == "$fileSize1" ];then
echo "All directories under $dirImg are within the allowed\
$sizeLimitMsg size limit" >> $emailBody
else
#do something else
fi
它产生的输出带有额外的空白:
All directories under /var/log/junk are within the allowed 1 gig size limit
我猜想,多余的和多余的空格来自缩进上面条件中的变量$ sizeLimitMsg。
无论如何,我既可以继续执行该行并缩进该代码,而无需获取多余和不需要的空白?
答案 0 :(得分:3)
不要将缩进包含在引号中
echo "All directories under $dirImg are within the allowed" \
"$sizeLimitMsg size limit"
答案 1 :(得分:1)
替代:
printf "%s %s\n" "All directories under ${dirImg} are within the allowed" \
"${sizeLimitMsg} size limit" >> "${emailBody}"