Puncte:1

Variabila de mediu goală în scriptul Bash

drapel pl

Am o instanță EC2 pe care o implementez pe AWS.

Folosesc un Amazon Linux 2 și îi transmit date unui utilizator ca atare:

userdata_file.write(
        f'''
        #!/bin/bash\n
        exportă PAGERDUTYAPIKEY='mykey'\n
        sudo yum install git -y\n
        chmod +x ./basic_test.sh \n
        echo $PAGERDUTYAPIKEY> /home/ec2-user/pagerdutyapikey1.txt\n
        sudo ./basic_test.sh
        '''.bandă()
    )

test_de bază.sh

#!/bin/bash

echo „s/enterpagerdutyapikey/${PAGERDUTYAPIKEY}/g” > path.txt

Cu toate acestea, când îl rulez, în cale.txt ecou ca atare:

s/enterpagerdutyapikey//g

Dar când fac ssh pe server și rulez același script bash, ecou ca atare:

s/enterpagerdutyapikey/mykey/g

Orice idee de ce variabila de mediu $PAGERDUTYAPIKEY este redat gol când rulez prin datele utilizatorului?

drapel in
Postat încrucișat la [StackOverflow](https://stackoverflow.com/q/70423727/1030675).
drapel jp
După cum sa menționat în comentariile despre SO, `sudo` resetează majoritatea variabilelor de mediu. Aruncă `sudo` din scriptul de date utilizator, oricum rulează ca `root`.
Mervin Hemaraju avatar
drapel pl
Aruncarea sudo a funcționat! Mulțumiri
drapel cn
@MervinHemaraju - dacă postezi răspunsul ca răspuns aici, poți să marchezi această întrebare ca răspuns și să le salvezi pe oameni să facă clic la SO!
Puncte:1
drapel pl

Postare din postarea StackOverflow https://stackoverflow.com/questions/70423727/environment-variable-empty-in-bash-script

După cum a răspuns @chepner, sudo nu păstrează implicit variabile de mediu arbitrare din motive de securitate. Așa că renunțarea la sudo din comandă m-a ajutat.

drapel in
Vă rugăm să nu postați încrucișați întrebările dvs. Ștergeți întrebarea dvs. de aici sau de pe SO. IMO SO se potrivește mai bine la întrebare.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.