如何使用Shell脚本附加一些具有变量名的行

问题描述 投票:0回答:1

我想使用tee命令使用bash脚本创建/附加文件,但是我要在具有变量名的文件中添加/附加的行。当我执行该脚本时,它将显示空白而不是变量名,但是我想要该变量名因为它在那里。我的脚本是具有以下代码的append.sh

#!/bin/bash
tee config.json <<EOL
"metrics": {
                "append_dimensions": {
                        "AutoScalingGroupName": "${aws:AutoScalingGroupName}",
                        "ImageId": "${aws:ImageId}",
                        "InstanceId": "${aws:InstanceId}",
                        "InstanceType": "${aws:InstanceType}"
                },
EOL

现在,当我执行命令“ cat config.json”时,它在变量名($ {aws:AutoScalingGroupName})等处显示空白。

`"metrics": {
        "append_dimensions": {
            "AutoScalingGroupName": "",
            "ImageId": "",
            "InstanceId": "",
            "InstanceType": ""
        },`

但是我希望所有行都像在脚本中那样写请告诉我我是如何实现的。

linux shell append cat tee
1个回答
1
投票

您需要引用EOL来禁用它在此处介绍的文档中的扩展。喜欢

tee config.json <<'EOL'
"metrics": {
                "append_dimensions": {
                        "AutoScalingGroupName": "**${aws:AutoScalingGroupName}**",
                        "ImageId": "**${aws:ImageId}**",
                        "InstanceId": "**${aws:InstanceId}**",
                        "InstanceType": "**${aws:InstanceType}**"
                },
EOL
© www.soinside.com 2019 - 2024. All rights reserved.