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

How to append some lines having variable name using shell script

我想要 create/append 一个使用 bash 脚本的文件,使用 tee 命令,但是我想要 add/append 在具有变量 name.when 的文件中的行我执行该脚本它将显示空白代替变量名,但我想要那个变量名,因为它在那里。 我的脚本 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": ""
        },`

但我希望所有的台词都和我在剧本中写的一样 请告诉我我是如何做到这一点的。

您需要引用 EOL 以禁用它引入的此处文档中的扩展。喜欢:

tee config.json <<'EOL'
"metrics": {
                "append_dimensions": {
                        "AutoScalingGroupName": "**${aws:AutoScalingGroupName}**",
                        "ImageId": "**${aws:ImageId}**",
                        "InstanceId": "**${aws:InstanceId}**",
                        "InstanceType": "**${aws:InstanceType}**"
                },
EOL