Próbuję ustawić zmienne środowiskowe z danymi EC2s użytkownika, ale nic nie mogę zrobić, wydaje się działaćJak ustawić zmienne środowiskowe na przykład EC2 przez Użytkownika danych
oto skrypty danych użytkownika Próbowałem
#!/bin/bash echo "export HOST_URL=checkEmai-LoadBala-ICHJ82KG5C7P-23235232.us-east-1.elb.amazonaws.com" >> /env.sh source /env.sh
I jeszcze:
#!/bin/bash echo "#!/bin/bash" >> /env.sh echo "export HOST_URL=checkEmai-LoadBala-ICHJ82KG5C7P-67323523.us-east-1.elb.amazonaws.com" >> /env.sh chmod +x /env.sh /env.sh
Oboje absolutnie nic nie robią, a jeśli się zaloguję i wydam polecenie source /env.sh
lub /env.sh
, to działa. więc to musi być coś zabronionego, co próbuję zrobić.
Oto wyjściowy /var/log/cloud-init-output.log
użyciu -e -x
+ echo 'export HOST_URL=checkEmai-LoadBala-ICHJ82KG5C7P-2141709021.us-east-1.elb.amazonaws.com' + source /env.sh ++ export HOST_URL=checkEmai-LoadBala-ICHJ82KG5C7P-2141709022.us-east-1.elb.amazonaws.com ++ HOST_URL=checkEmai-LoadBala-ICHJ82KG5C7P-2141709022.us-east-1.elb.amazonaws.com
Mimo echo $HOST_URL
jest pusty
Zgodnie z wnioskiem, pełna UserData skrypt
#!/bin/bash set -e -x echo "export HOST_URL=checkEmai-LoadBala-ICHJ82KG5C7P-2141709021.us-east-1.elb.amazonaws.com" >> /env.sh source /env.sh /startup.sh staging 2649
Próbujesz ustawić zmienne środowiskowe dla skryptów uruchamianych później na łatwość danych, czy chcesz zmienne dostępne po zalogowaniu się do serwera przez ssh ? Czy jesteś pewien, że używany AMI obsługuje skrypty danych użytkowników? –
1: Próbuję ustawić dane użytkownika do aplikacji uruchamianej po tym skrypcie. 2: tak skrypty danych użytkownika działają, jest to tylko dodatek do skryptu, który działa po tym – Gleeb
Aby być jasnym, skrypt, do którego mają być dostępne zmienne, jest również wywoływany w twoim skrypcie danych użytkownika? –