pipe ถึง sudo -E bash -


10

ฉันสงสัยว่าจุดประสงค์ของการวางท่อไฟล์ที่ดาวน์โหลดcurlลงsudo -E bash -ในเชลล์ต่อไปนี้คืออะไร:

curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash -

คำตอบ:


10

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

  • ผู้ใช้พิมพ์ชื่อไฟล์ไม่ถูกต้อง
  • ผู้ใช้ไม่ได้ใช้เปลือกที่ถูกต้อง (อาจจะวิ่งsh foo.shแทนbash foo.sh)
  • ผู้ใช้พยายามเรียกใช้ไฟล์แทนการตั้งค่า bash บนมัน ( ./foo.sh) และลืมที่จะตั้งค่าการอนุญาตให้ใช้งาน
  • ผู้ใช้ลืมที่จะใช้ sudo

ด้วยการจัดเตรียมบรรทัดคำสั่งเดียวเพื่อดำเนินการผู้พัฒนาสามารถลดจำนวนตำแหน่งที่สิ่งต่าง ๆ สามารถผิดพลาดได้เนื่องจากข้อผิดพลาด luser

โดยส่วนตัวแล้วฉันดูถูกว่าการบิดงอท่อเพื่อทุบตี มันไม่ปลอดภัย


7

คำสั่งนี้จะดาวน์โหลดไฟล์และพยายามเรียกใช้งานด้วยสิทธิ์ของรูท


3
ขอบคุณ แต่อะไรคือดักแด้ของ-Eตัวเลือกและ-ในตอนท้ายของคำสั่ง?
Mr.Y

5
@Youssef -Eรักษาตัวแปรสภาพแวดล้อม (พูดตัวแปรสำหรับการตั้งค่าพร็อกซี) และ-บอกให้ทุบตีเพื่ออ่านคำสั่งจากอินพุตมาตรฐานเช่นไพพ์
muru
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.