เมื่อฉันใส่ sudo "ส่งออก PROXY_LOCAL_NET_IP = 10.113.35.108" ฉันได้รับข้อผิดพลาดต่อไปนี้:
sudo: export: command not found
ฉันควรทำอย่างไรเพื่อแก้ไขปัญหานี้
เมื่อฉันใส่ sudo "ส่งออก PROXY_LOCAL_NET_IP = 10.113.35.108" ฉันได้รับข้อผิดพลาดต่อไปนี้:
sudo: export: command not found
ฉันควรทำอย่างไรเพื่อแก้ไขปัญหานี้
คำตอบ:
คุณไม่สามารถใช้เชลล์บิลด์อินsudo
ได้ sudo
คำสั่งเฉพาะที่สอดคล้องกับไฟล์ที่ถูกต้องจะถูกดำเนินการผ่าน ไวยากรณ์ที่ถูกต้องสำหรับ sudo คือ:sudo [options] [filename]
การส่งออกเป็นคำสั่งภายใน (builtin) ของเชลล์ Bash และอาจเป็นไปได้เช่นกัน
นอกจากนี้โปรดทราบว่าไม่จำเป็นต้องดำเนินการexport
ผ่านsudo
จะต้องดำเนินการภายใต้ id ผู้ใช้ของคุณเพื่อใช้กับเชลล์และกระบวนการลูกของคุณ
ถ้าคุณสลับไปยังผู้ใช้รากที่จะทำเช่นนี้คุณจะต้องทำส่วนที่เหลือของการดำเนินงานของคุณเป็นราก: นี้ไม่แนะนำ เพราะถ้าคุณออกจากรูทเชลล์การมอบหมายที่ทำโดยexport
จะหายไป
เป็นผู้ใช้รูทด้วยsudo -s
และรหัสผ่านของคุณ
จากนั้นป้อนคำสั่งของคุณโดยไม่ใช้ sudo: ส่งออก PROXY_LOCAL_NET_IP = 10.113.35.108`
คุณสามารถใช้ตัวเลือก sudo -E เพื่อใช้ตัวแปรที่ส่งออกในคำสั่ง sudo
คำถาม stackoverflowต่อไปนี้มีรายละเอียดเพิ่มเติมบางอย่างเกี่ยวกับวิธีการใช้ตัวแปรสภาพแวดล้อมด้วย sudo