如何使用 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
我想要 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