Ubuntu - เรียกใช้คำสั่งเมื่อเริ่มต้นด้วย“ sudo”


คำตอบ:


195

คุณสามารถเพิ่มคำสั่งใน/etc/rc.localสคริปต์ที่ดำเนินการเมื่อสิ้นสุดการเริ่มต้น

exit 0เขียนคำสั่งก่อน สิ่งใดก็ตามที่เขียนหลังจากนั้นexit 0จะไม่ถูกดำเนินการ


38
ก่อนหน้านี้อย่างแน่นอน สิ่งใดก็ตามที่เขียนหลังจากนั้นexit 0จะไม่ถูกดำเนินการ
Didier Trosset

สวัสดีฉันยังมีและคำสั่ง rvmsudo ที่จะดำเนินการในสถานการณ์เดียวกัน คำสั่งปกติจะถามรหัสผ่าน จะมีปัญหาหรือไม่ถ้าฉันวางคำสั่งโดยตรงใน /etc/rc.local
ravi1991

@fmonegaglia มันขึ้นอยู่กับ &หากคุณต้องการคำสั่งที่จะเริ่มต้นและสคริปต์ที่รอให้มันเสร็จสิ้นก่อนที่จะดำเนินการต่อไปคำสั่งต่อไปในสคริปต์แล้วไม่มี &หากคุณต้องการคำสั่งต่อไปที่จะเริ่มต้นแม้ว่าหนึ่งในปัจจุบันยังไม่เสร็จสิ้นเพิ่ม
Didier Trosset

@NoOne ตรวจสอบสิทธิ์การเข้าถึงไฟล์นี้สำหรับผู้ใช้ปัจจุบัน การเริ่มต้นแก้ไขคำสั่งด้วย sudo อาจทำเคล็ดลับ
Didier Trosset

1
แน่นอนว่ามันมีอยู่จริงและใช่ฉันได้ตั้งค่าบิตปฏิบัติการ เมื่อพยายามเปิดใช้บริการฉันได้The unit files have no installation config (WantedBy, RequiredBy, Also, Alias settings in the [Install] section, and DefaultInstance for template units) […].รับคำแนะนำเกี่ยวกับเรื่องนี้เท่านั้น?
oarfish

9

แก้ไขการกำหนดค่า tty /etc/init/tty*.confด้วย shellscript เป็นพารามิเตอร์:

(...)
exec /sbin/getty -n -l  theInputScript.sh -8 38400 tty1
(...)

นี่คือสมมติว่าเรากำลังแก้ไข tty1 และสคริปต์ที่อ่านอินพุตคือInputScript.sh

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

สำคัญ: สคริปต์เมื่อเสร็จสิ้นจะต้องเรียกใช้ / sbin / login มิฉะนั้นคุณจะไม่สามารถเข้าสู่ระบบในเทอร์มินัลได้


1
คำตอบนี้มีประโยชน์สำหรับฉันเมื่อสร้างอุปกรณ์ผลิตภัณฑ์ของเราขอบคุณมาก
José F. Romaniello

0

คำตอบที่ดี คุณยังสามารถตั้งค่างาน (เช่นคำสั่ง) ด้วย " Crontab " เพื่อความยืดหยุ่นมากขึ้น (ซึ่งมีตัวเลือกต่าง ๆ ในการเรียกใช้สคริปต์บันทึกผลลัพธ์ ฯลฯ ) แม้ว่าจะต้องใช้เวลามากกว่าในการทำความเข้าใจและตั้งค่าอย่างถูกต้อง:

การใช้ '@reboot' คุณสามารถเรียกใช้คำสั่งหนึ่งครั้งเมื่อเริ่มต้น

การห่อ : เรียกใช้$ sudo crontab -e -u root

และเพิ่มบรรทัดที่ท้ายไฟล์ด้วยคำสั่งของคุณดังนี้:

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