<ก่อนหน้านี้ | Contents | ถัดไป>
มีอะไรอยู่ในไฟล์เริ่มต้น?
หากเรามองเข้าไปข้างในแบบเดิมๆ .bash_profile (นำมาจากระบบ CentOS 6) มีลักษณะดังนี้:
# .bash_profile
# รับนามแฝงและฟังก์ชันถ้า [ -f ~/.bashrc ]; แล้ว
. ~ / .bashrc
fi
# สภาพแวดล้อมเฉพาะผู้ใช้และโปรแกรมเริ่มต้น PATH=$PATH:$HOME/bin
ส่งออกเส้นทาง
# .bash_profile
# รับนามแฝงและฟังก์ชันถ้า [ -f ~/.bashrc ]; แล้ว
. ~ / .bashrc
fi
# สภาพแวดล้อมเฉพาะผู้ใช้และโปรแกรมเริ่มต้น PATH=$PATH:$HOME/bin
ส่งออกเส้นทาง
เส้นที่ขึ้นต้นด้วย “#” are ความคิดเห็น และไม่ได้อ่านโดยเชลล์ สิ่งเหล่านี้มีไว้เพื่อให้มนุษย์สามารถอ่านได้ สิ่งที่น่าสนใจอันดับแรกเกิดขึ้นในบรรทัดที่สี่ โดยมีรหัสต่อไปนี้:
ถ้า [ -f ~/.bashrc ]; แล้ว
ถ้า [ -f ~/.bashrc ]; แล้ว
สิ่งแวดล้อมเกิดขึ้นได้อย่างไร?
. ~ / .bashrc
fi
. ~ / .bashrc
fi
สิ่งนี้เรียกว่าไฟล์ ถ้าคำสั่งผสมซึ่งเราจะกล่าวถึงอย่างครบถ้วนเมื่อเราไปถึงเชลล์สคริปต์ในตอนที่ 4 แต่สำหรับตอนนี้ นี่คือการแปล:
หากมีไฟล์ "~/.bashrc" อยู่ ให้อ่านไฟล์ "~/.bashrc"
หากมีไฟล์ "~/.bashrc" อยู่ ให้อ่านไฟล์ "~/.bashrc"
เราจะเห็นได้ว่าโค้ดบิตนี้เป็นวิธีที่เปลือกล็อกอินได้รับเนื้อหาของ .bashrc. สิ่งต่อไปในไฟล์เริ่มต้นของเราเกี่ยวข้องกับ เส้นทาง ตัวแปร
เคยสงสัยหรือไม่ว่าเชลล์รู้ได้อย่างไรว่าจะค้นหาคำสั่งเมื่อเราป้อนคำสั่งบนบรรทัดคำสั่ง? ตัวอย่างเช่น เมื่อเราเข้าสู่ ls, เชลล์ไม่ค้นหาคอมพิวเตอร์ทั้งหมดเพื่อหา /ถัง/ลิตร (ชื่อเต็มของเส้นทาง ls คำสั่ง) แต่จะค้นหารายการไดเร็กทอรีที่มีอยู่ใน เส้นทาง ตัวแปร
การขอ เส้นทาง ตัวแปรมักจะ (แต่ไม่เสมอไป ขึ้นอยู่กับการแจกแจง) ที่กำหนดโดย
/etc/profile ไฟล์เริ่มต้นและด้วยรหัสนี้:
PATH=$PATH:$HOME/bin
PATH=$PATH:$HOME/bin
PATH ถูกแก้ไขเพื่อเพิ่มไดเร็กทอรี $HOME/bin ต่อท้ายรายการ นี่คือตัวอย่างการขยายพารามิเตอร์ ซึ่งเราได้กล่าวถึงในบทที่ 7 เพื่อสาธิตวิธีการทำงาน ให้ลองทำดังนี้:
[me@linuxbox ~]$ foo="นี่คือบางส่วน"
[me@linuxbox ~]$ เสียงสะท้อน $foo
นี่คือบางส่วน
[me@linuxbox ~]$ foo=$foo"ข้อความ"
[me@linuxbox ~]$ เสียงสะท้อน $foo
นี่คือข้อความบางส่วน
[me@linuxbox ~]$ foo="นี่คือบางส่วน"
[me@linuxbox ~]$ เสียงสะท้อน $foo
นี่คือบางส่วน
[me@linuxbox ~]$ foo=$foo"ข้อความ"
[me@linuxbox ~]$ เสียงสะท้อน $foo
นี่คือข้อความบางส่วน
เมื่อใช้เทคนิคนี้ เราสามารถใส่ข้อความต่อท้ายเนื้อหาของตัวแปรได้
โดยการเพิ่มสตริง $HOME/ถังขยะ ไปยังจุดสิ้นสุดของไฟล์ เส้นทาง เนื้อหาของตัวแปร ไดเร็กทอรี $HOME/ถังขยะ ถูกเพิ่มในรายการไดเร็กทอรีที่ค้นหาเมื่อป้อนคำสั่ง ซึ่งหมายความว่าเมื่อเราต้องการสร้างไดเร็กทอรีภายในโฮมไดเร็กทอรีของเราเพื่อจัดเก็บโปรแกรมส่วนตัวของเรา เชลล์ก็พร้อมที่จะรองรับเรา สิ่งที่เราต้องทำคือโทร
it ถังและเราพร้อมที่จะไป
หมายเหตุ: การแจกแจงจำนวนมากให้สิ่งนี้ เส้นทาง การตั้งค่าโดยค่าเริ่มต้น การกระจายตามเดเบียนเช่น Ubuntu ทดสอบการมีอยู่ของ ~/ถังขยะ ไดเร็กทอรีเมื่อเข้าสู่ระบบและเพิ่มลงในไดนามิกไดนามิก เส้นทาง ตัวแปรหากพบไดเร็กทอรี
สุดท้ายนี้ เรามี:
ส่งออกเส้นทาง
ส่งออกเส้นทาง
การขอ ส่งออก คำสั่งบอกให้เชลล์สร้างเนื้อหาของ เส้นทาง ใช้ได้กับโปรเซสลูกของเชลล์นี้