shell使用命令替换语法将文档的输出保存到变量中

要输出变量的内容并且每行都换行显示,您可以使用echo -e命令和变量名,并在每个文本行之间添加一个\n转义序列,如下所示:

echo -e "$变量名"

在这个例子中,-e选项用于启用转义序列。\n表示一个换行符。

例如,如果您想输出变量content的内容,并且每行都换行显示,您可以使用以下命令:

echo -e "$content"

请注意,在使用echo -e命令时,必须使用双引号将变量名括起来

使用例子:

# 将内容直接保存到变量值
test1=$(cat << EOF
第一行内容: $(date)
第二行内容: $(hostname)
第三行内容: shell测试
EOF
)



# 将内容保存到本地服务器文件中
cat > /tmp/test01 << EOF
第一行内容: $(date)
第二行内容: $(hostname)
第三行内容: shell测试
EOF

# 输出变量的值,一行内容
echo $test1


# 输出变量的值,多行内容,必须使用双引号括起来,否则还是输出一行内容,方法1
echo -e "$test1"


# 输出变量的值,多行内容,必须使用双引号括起来,否则还是输出一行内容,方法2
echo "$test1"

演示例子:

[lighthouse@lighthouse ~]$ 
[lighthouse@lighthouse ~]$ test1=$(cat << EOF
> 第一行内容: $(date)
> 第二行内容: $(hostname)
> 第三行内容: shell测试
> EOF
> )
[lighthouse@lighthouse ~]$ 
[lighthouse@lighthouse ~]$ # 输出变量的值,一行内容
[lighthouse@lighthouse ~]$ echo $test1
第一行内容: Thu Jul 13 09:44:28 CST 2023 第二行内容: lighthouse 第三行内容: shell测试
[lighthouse@lighthouse ~]$ 
[lighthouse@lighthouse ~]$ 
[lighthouse@lighthouse ~]$ # 输出变量的值,多行内容
[lighthouse@lighthouse ~]$ echo -e "$test1"
第一行内容: Thu Jul 13 09:44:28 CST 2023
第二行内容: lighthouse
第三行内容: shell测试
[lighthouse@lighthouse ~]$ 
[lighthouse@lighthouse ~]$
[lighthouse@lighthouse ~]$ # 输出变量的值,多行内容
[lighthouse@lighthouse ~]$ echo "$test1"
第一行内容: Thu Jul 13 09:44:28 CST 2023
第二行内容: lighthouse
第三行内容: shell测试
[lighthouse@lighthouse ~]$ 
[lighthouse@lighthouse ~]$ 

你可能感兴趣的:(linux,运维,服务器)