【发布时间】:2015-08-28 11:46:13
【问题描述】:
基本上,我有一个需要从外部文件设置的环境变量列表。这就是我想要做的......
文件:/usr/local/env
export EC2_PRIVATE_KEY=~/.ec2/pk-xxxxx.pem
export EC2_CERT=~/.ec2/cert-xxxxx.pem
export EC2_URL=https://ec2.us-east-1.amazonaws.com
export EC2_HOME=/opt/aws/apitools/ec2
export JAVA_HOME=/usr/lib/jvm/jre
文件:/usr/local/test.sh
source /usr/local/env
ec2-describe-instances
当我运行/usr/local/test.sh 时,我得到/bin/ec2-cmd: No such file or directorybe-instances: line 11: /opt/aws/apitools/ec2
所以我检查了变量并注意到什么时候:
[root@ip-10-244-17-106 ~]# set | grep EC2
EC2_AMITOOL_HOME=/opt/aws/amitools/ec2
EC2_CERT=$'~/.ec2/cert-xxxxx.pem\r'
EC2_HOME=$'/opt/aws/apitools/ec2\r'
EC2_PRIVATE_KEY=$'~/.ec2/pk-xxxxx.pem\r'
当我跑步时:
[root@ip-10-244-17-106 ~]# env | grep EC2
EC2_HOME=/opt/aws/apitools/ec2
EC2_URL=https://ec2.us-east-1.amazonaws.com
EC2_PRIVATE_KEY=~/.ec2/pk-xxxxx.pem
EC2_CERT=~/.ec2/cert-xxxxx.pem
为什么 source 将 $'
【问题讨论】:
-
因为您是在基于 Windows 的机器上创建文件的?尝试运行
dos2unix /usr/local/env。祝你好运。 -
看起来行尾字符不正确。您的
/usr/local/env是否来自 Windows?
标签: linux bash amazon-ec2 environment-variables