shell去掉echo和cat 的行前空格或制表符

liwl1991 / 2024-10-06 / 原文

在shell脚本中,为了保持脚本格式的美观和易读,不希望字符串靠边,可以采用以下方式

cat EOF这个,通过<<- EOF 和EOF的方式写内容,

#!/bin/bash
NAME=$1
LOGFILE="liwl.log"
#以下内容输出时,行前无空格或制表符
echo """
    my name is: ${NAME}
""" | egrep -v '^$' | sed 's/^[ \t]*//g'


#以下内容写入文件时,行前无空格或制表符
function cat_message_to_file(){
    cat  <<- EOF | sed 's/^[ \t]*//g' > ${LOGFILE}
    my name is: ${NAME}
    EOF
}
cat_message_to_file