【问题标题】:Environment variable overrides command环境变量覆盖命令
【发布时间】:2018-01-22 08:52:01
【问题描述】:

我设置了EC2_IP_ADDRESS 变量

$ export EC2_IP_ADDRESS="`docker run -it -v $PWD/infrastructure:/terraform -v $PWD/data:/data terraform sh -c "terraform init; terraform state show module.aws_ec2.aws_eip.aws_instance_eip" | grep public_ip | awk '{print $3}'`"

然后我尝试将一些文件复制到 EC2 实例中:

$ scp -i key.pem -r src/* ec2-user@$EC2_IP_ADDRESS:/home/ec2-user/src/

但输出错误:: nodename nor servname provided, or not known

$ echo "scp -i key.pem -r src/* ec2-user@$EC2_IP_ADDRESS:/home/ec2-user/src/"的输出

:/home/ec2-user/src/c/* ec2-user@X.X.X.X

变量EC2_IP_ADDRESS 之后的任何内容似乎都转到了字符串的开头,覆盖了命令。

关于如何解决这个问题的任何想法?

【问题讨论】:

  • 尝试运行echo "scp...xxd

标签: bash amazon-web-services environment-variables terraform


【解决方案1】:

变量最后似乎包含$'\r'。删除它

EC2_IP_ADDRESS=${EC2_IP_ADDRESS%$'\r'}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-18
    • 1970-01-01
    相关资源
    最近更新 更多