В основном у меня есть список переменных среды, которые мне нужно установить из внешнего файла. Вот что я пытаюсь сделать ...
файл: / 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
Почему источник оборачивает $ ' \ r' вокруг всех моих значений? Я думаю, именно поэтому я получаю ошибку. Кто-нибудь может помочь?