如何使用 cat 命令保留换行符

How to preserve newlines with cat command

我有这个:

echo `cat << 'EOF'
    select c1, c2 from foo
    where c1='something'
EOF`

它将此记录到标准输出:

select c1, c2 from foo where c1='something'

但我想以某种方式保留换行符,所以它输出:

select c1, c2 from foo  
where c1='something'

我该怎么做?

echo 中使用双引号以保留字符串的原始格式。

echo "`cat << 'EOF'
    select c1, c2 from foo
    where c1='something'
EOF`"

你根本不需要echo:

cat <<'EOF'
select c1, c2 from foo
where c1='something'
EOF