我想使用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": ""
},`
但是我希望所有行都像在脚本中那样写请告诉我我是如何实现的。
您需要引用EOL
来禁用它在此处介绍的文档中的扩展。喜欢
tee config.json <<'EOL'
"metrics": {
"append_dimensions": {
"AutoScalingGroupName": "**${aws:AutoScalingGroupName}**",
"ImageId": "**${aws:ImageId}**",
"InstanceId": "**${aws:InstanceId}**",
"InstanceType": "**${aws:InstanceType}**"
},
EOL