Score:1

ตัวแปรสภาพแวดล้อมว่างเปล่าใน Bash Script

ธง pl

ฉันมีอินสแตนซ์ EC2 ที่ฉันกำลังปรับใช้บน AWS

ฉันใช้ Amazon Linux 2 และฉันกำลังส่งข้อมูลผู้ใช้ไปยังมัน:

userdata_file.write(
        ฉ'''
        #!/bin/bash\n
        ส่งออก PAGERDUTYAPIKEY='mykey'\n
        sudo yum ติดตั้ง git -y\n
        chmod +x ./basic_test.sh \n
        เสียงสะท้อน $PAGERDUTYAPIKEY> /home/ec2-user/pagerdutyapikey1.txt\n
        sudo ./basic_test.sh
        '''.แถบ()
    )

พื้นฐาน_test.sh

#!/bin/bash

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

อย่างไรก็ตามเมื่อฉันเรียกใช้ใน เส้นทาง. txt มันสะท้อนเช่นนี้:

s/enterpagerdutyapikey//ก

แต่เมื่อฉัน ssh ในเซิร์ฟเวอร์และเรียกใช้สคริปต์ทุบตีเดียวกัน มันจะสะท้อนดังนี้:

s/enterpagerdutyapikey/mykey/g

มีความคิดว่าทำไมตัวแปรสภาพแวดล้อม $PAGERDUTYAPIKEY การแสดงผลว่างเปล่าเมื่อฉันเรียกใช้ข้อมูลผู้ใช้หรือไม่

in flag
ข้ามไปที่ [StackOverflow](https://stackoverflow.com/q/70423727/1030675)
jp flag
ตามที่กล่าวไว้ในความคิดเห็นเกี่ยวกับ SO `sudo` จะรีเซ็ตตัวแปรสภาพแวดล้อมส่วนใหญ่ วาง `sudo` จากสคริปต์ข้อมูลผู้ใช้ โดยเรียกใช้เป็น `root` อยู่ดี
Mervin Hemaraju avatar
pl flag
การทิ้ง sudo ได้ผล! ขอบคุณ
cn flag
@MervinHemaraju - หากคุณโพสต์คำตอบเป็นคำตอบที่นี่ คุณสามารถทำเครื่องหมายคำถามนี้ว่าตอบแล้ว และบันทึกผู้คนที่คลิกผ่านไปยัง SO!
Score:1
ธง pl

โพสต์จากโพสต์ StackOverflow https://stackoverflow.com/questions/70423727/environment-variable-empty-in-bash-script

ตามที่ตอบโดย @chepner sudo ไม่รักษาตัวแปรสภาพแวดล้อมตามอำเภอใจตามค่าเริ่มต้นด้วยเหตุผลด้านความปลอดภัย ดังนั้นการทิ้ง sudo จากคำสั่งจึงช่วยฉันได้

in flag
กรุณาอย่าข้ามโพสต์คำถามของคุณ ลบคำถามของคุณที่นี่หรือที่ SO IMO SO เหมาะกับคำถามมากกว่า

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา