ลองใช้man sh
หรือman bash
หรือ man page สำหรับเชลล์ที่คุณใช้ (อาจจะman $SHELL
)
นี่เป็นทางการไม่ได้เรียกว่าคำสั่ง "จุด" แต่source
คำสั่ง การค้นหาคำsource
นั้นอาจมีประโยชน์
เช่นbash man page (ค้นหา "คำสั่ง builtin แต่ละคำสั่ง") และคุณจะพบเอกสารได้อย่างรวดเร็ว
สำหรับการอธิบายการใช้งานฉันสามารถทำสิ่งนี้ได้ที่นี่ ฉันเพิ่งจะอ้างถึงสิ่งนี้เป็นsource
คำสั่งตระหนักว่ามันสามารถยากที่จะเป็นระยะเวลาเมื่อคุณใช้เปลือกหอยบางและเปลือกบางที่คำสั่งอาจจะต้องมี (เพราะจุดอาจได้รับการยอมรับ แต่คำทั้งหมดsource
อาจไม่ จะ)
หากคุณใช้source
คำสั่งเชลล์ของคุณจะอ่านแต่ละบรรทัดจากไฟล์สคริปต์และลองเรียกใช้งาน คุณต้องการสิทธิ์ "อ่าน" ในไฟล์ (ไม่สำคัญว่าคุณจะมีสิทธิ์ "ดำเนินการ") หากคุณแก้ไขตัวแปรนั่นมีแนวโน้มที่จะส่งผลต่อเชลล์ปัจจุบันของคุณ
หากในทางตรงกันข้ามคุณเพียงแค่พยายามรันไฟล์จากนั้นเชลล์ของคุณจะขอให้ระบบปฏิบัติการดูแลคำขอนี้ สิ่งนี้จะต้องได้รับอนุญาต "ดำเนินการ" (ในบางระบบเช่น OpenBSD คุณไม่จำเป็นต้องมีสิทธิ์ "อ่าน" สำหรับสิ่งนี้ในระบบอื่นรวมถึง Unix ที่คุณต้องการ) ไฟล์อาจต้องเริ่มต้นด้วยส่วนหัวที่เหมาะสม (เช่น#!/bin/sh
) เพื่อการทำงาน ระบบรับรู้สิ่งนี้เป็นไฟล์สคริปต์ ระบบปฏิบัติการจะดำเนินการสำเนาของเชลล์ที่ร้องขอและบอกเชลล์นั้นให้เรียกใช้เนื้อหาของสคริปต์ หากสภาพแวดล้อมของเชลล์มีการเปลี่ยนแปลง (เช่นตัวแปรได้รับค่าใหม่ไดเรกทอรีการทำงานจะเปลี่ยนไป (ด้วย cd
) ตัวบ่งชี้ไฟล์จะถูกเปลี่ยนเส้นทาง (ด้วย exec
) ฯลฯ ) มันจะส่งผลกระทบเฉพาะ sub-shell ที่ถูกเรียกใช้สำหรับสคริปต์และไม่สามารถแก้ไขสภาพแวดล้อมใน parent parent ที่เรียกว่า script file ได้