ฉันมีปัญหาเมื่อใช้คำสั่ง“ ส่งออก”


12

เมื่อฉันใส่ sudo "ส่งออก PROXY_LOCAL_NET_IP = 10.113.35.108" ฉันได้รับข้อผิดพลาดต่อไปนี้:

sudo: export: command not found

ฉันควรทำอย่างไรเพื่อแก้ไขปัญหานี้


มันทำงานได้โดยไม่ต้อง sudo?
user128285

อาจเป็นไปได้ว่าคุณไม่ควรใช้เครื่องหมายคำพูดในคำสั่ง
user128285

การส่งออกจะไม่ทำงานกับการทุบตีปลาไม่ว่าจะด้วยเหตุผลใด
Raffael

วิธีเก็บตัวแปรสภาพแวดล้อมเมื่อใช้ sudo: stackoverflow.com/questions/8633461/…
Mark Fox

คำตอบ:


9

คุณไม่สามารถใช้เชลล์บิลด์อินsudoได้ sudoคำสั่งเฉพาะที่สอดคล้องกับไฟล์ที่ถูกต้องจะถูกดำเนินการผ่าน ไวยากรณ์ที่ถูกต้องสำหรับ sudo คือ:sudo [options] [filename]

การส่งออกเป็นคำสั่งภายใน (builtin) ของเชลล์ Bash และอาจเป็นไปได้เช่นกัน

นอกจากนี้โปรดทราบว่าไม่จำเป็นต้องดำเนินการexportผ่านsudoจะต้องดำเนินการภายใต้ id ผู้ใช้ของคุณเพื่อใช้กับเชลล์และกระบวนการลูกของคุณ

ถ้าคุณสลับไปยังผู้ใช้รากที่จะทำเช่นนี้คุณจะต้องทำส่วนที่เหลือของการดำเนินงานของคุณเป็นราก: นี้ไม่แนะนำ เพราะถ้าคุณออกจากรูทเชลล์การมอบหมายที่ทำโดยexportจะหายไป


7

เป็นผู้ใช้รูทด้วยsudo -sและรหัสผ่านของคุณ
จากนั้นป้อนคำสั่งของคุณโดยไม่ใช้ sudo: ส่งออก PROXY_LOCAL_NET_IP = 10.113.35.108`


4

คุณสามารถใช้ตัวเลือก sudo -E เพื่อใช้ตัวแปรที่ส่งออกในคำสั่ง sudo

คำถาม stackoverflowต่อไปนี้มีรายละเอียดเพิ่มเติมบางอย่างเกี่ยวกับวิธีการใช้ตัวแปรสภาพแวดล้อมด้วย sudo

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.