代码之家  ›  专栏  ›  技术社区  ›  Steve

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

  •  0
  • Steve  · 技术社区  · 6 年前

    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
    

    不管怎样,我是否可以继续这一行并缩进代码,而不会得到额外的和不需要的空白?

    2 回复  |  直到 6 年前
        1
  •  3
  •   choroba    6 年前

    不要在引号中包含缩进:

    echo "All directories under $dirImg are within the allowed" \
         "$sizeLimitMsg size limit"
    
        2
  •  1
  •   Walter A    6 年前

    备选方案:

    printf "%s %s\n" "All directories under ${dirImg} are within the allowed" \
        "${sizeLimitMsg} size limit" >> "${emailBody}"