BASH:尝试在另一行上继续一个字符串而不引入空格

时间:2018-11-27 20:59:05

标签: string bash echo continue

我有一个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。

无论如何,我既可以继续执行该行并缩进该代码,而无需获取多余和不需要的空白?

2 个答案:

答案 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}"