gpt4 book ai didi

amazon-web-services - 在CloudFormation中使用Sub函数是否会妨碍bash脚本的使用?

转载 作者:行者123 更新时间:2023-12-03 07:23:05 24 4
gpt4 key购买 nike

我在 Auto Scaling 组的 CloudFormation LaunchTemplate 中获得了以下 UserData。前两个命令可以正常执行,而第三个命令则不会被调用。如果没有 Sub 函数,一切都会顺利进行,但是我们的代码已经发展到需要将 EBS 变量传递到某个地方(但是不一定在 bash 脚本中)。我这样做的方式不好吗?如果没有,我如何确保最后一行得到执行?

          Fn::Base64: 
!Sub
- |
#!/bin/bash
echo ${EBS} > /home/ubuntu/test.txt
aws s3 cp s3://s3url/script.sh /home/ubuntu
bash script.sh "$(curl http://169.254.169.254/latest/meta-data/local-ipv4)" "$(cat /home/ubuntu/test.txt)"
- {EBS: !Ref DevEBS}

我已经使用了 cloud-boothook,但是在与 Sub 函数一起使用时,将其放在 #!/bin/bash 之前似乎会将用户锁定在创建的实例之外( key 不被接受?)。

非常感谢您的帮助!

最佳答案

您正在将脚本复制到 /home/ubuntu。但您的用户数据在根文件夹中运行。因此您的后续命令将不起作用。您必须 cd 进入 /home/ubuntu:

          Fn::Base64: 
!Sub
- |
#!/bin/bash
echo ${EBS} > /home/ubuntu/test.txt
aws s3 cp s3://s3url/script.sh /home/ubuntu
cd /home/ubuntu
bash script.sh "$(curl http://169.254.169.254/latest/meta-data/local-ipv4)" "$(cat /home/ubuntu/test.txt)"
- {EBS: !Ref DevEBS}

关于amazon-web-services - 在CloudFormation中使用Sub函数是否会妨碍bash脚本的使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69213588/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com