<ก่อนหน้านี้ | Contents | ถัดไป>
ดูบทที่ 9 สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการบีบอัดไฟล์จริงและตัวอย่างในการสร้างไฟล์เก็บถาวร
7.2. สภาพแวดล้อมข้อความของคุณ
7.2.1. ตัวแปรสภาพแวดล้อม
7.2.1.1 ทั่วไป
เราได้กล่าวถึงตัวแปรสภาพแวดล้อมสองสามตัวแล้ว เช่น เส้นทาง และ หน้าหลัก. จนถึงขณะนี้ เราเห็นเพียงตัวอย่างที่พวกเขาใช้เพื่อจุดประสงค์บางอย่างกับเชลล์เท่านั้น แต่มียูทิลิตี้ Linux อื่น ๆ อีกมากมายที่ต้องการข้อมูลเกี่ยวกับคุณเพื่อให้ทำงานได้ดี
โปรแกรมต้องการข้อมูลอื่นใดนอกเหนือจากพาธและโฮมไดเร็กทอรี?
โปรแกรมจำนวนมากต้องการทราบเกี่ยวกับประเภทของเทอร์มินัลที่คุณใช้ ข้อมูลนี้ถูกเก็บไว้ใน ระยะ ตัวแปร. ในโหมดข้อความ นี่จะเป็น ลินุกซ์ การจำลองเทอร์มินัลในโหมดกราฟิกที่คุณน่าจะใช้ xterm. โปรแกรมจำนวนมากต้องการทราบว่าโปรแกรมแก้ไขที่คุณชอบคืออะไร ในกรณีที่ต้องเริ่มโปรแกรมแก้ไขในกระบวนการย่อย เชลล์ที่คุณใช้ถูกเก็บไว้ใน SHELL ตัวแปรประเภทระบบปฏิบัติการใน OS และอื่นๆ รายการตัวแปรทั้งหมดที่กำหนดไว้ในปัจจุบันสำหรับเซสชันของคุณสามารถดูได้โดยป้อน เครื่องพิมพ์ คำสั่ง
ตัวแปรสภาพแวดล้อมได้รับการจัดการโดยเชลล์ ต่างจากตัวแปรเชลล์ปกติ ตัวแปรสภาพแวดล้อมได้รับการสืบทอดโดยโปรแกรมใดๆ ที่คุณเริ่มต้น รวมถึงเชลล์อื่นด้วย กระบวนการใหม่ได้รับมอบหมายสำเนาของตัวแปรเหล่านี้ ซึ่งสามารถอ่าน แก้ไข และส่งต่อไปยังกระบวนการลูกของตนเองได้
ไม่มีอะไรพิเศษเกี่ยวกับชื่อตัวแปร ยกเว้นว่าชื่อทั่วไปจะเป็นตัวพิมพ์ใหญ่ตามแบบแผน คุณสามารถสร้างชื่อใดก็ได้ที่คุณต้องการแม้ว่าจะมีตัวแปรมาตรฐานที่
สำคัญพอที่จะเหมือนกันทุกระบบ Linux เช่น เส้นทาง และ หน้าหลัก.
7.2.1.2. การส่งออกตัวแปร
เนื้อหาของตัวแปรแต่ละตัวมักจะแสดงโดยใช้เครื่องหมาย เสียงสะท้อน คำสั่งดังในตัวอย่างเหล่านี้:
เด็บบี้:~> เสียงสะท้อน $PATH
/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin:/usr/local/bin
เด็บบี้:~> เสียงสะท้อน $MANPATH
/usr/man:/usr/share/man/:/usr/local/man:/usr/X11R6/คน
เด็บบี้:~> เสียงสะท้อน $PATH
/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin:/usr/local/bin
เด็บบี้:~> เสียงสะท้อน $MANPATH
/usr/man:/usr/share/man/:/usr/local/man:/usr/X11R6/คน
หากคุณต้องการเปลี่ยนเนื้อหาของตัวแปรในลักษณะที่เป็นประโยชน์กับโปรแกรมอื่น คุณต้องส่งออกค่าใหม่จากสภาพแวดล้อมของคุณไปยังสภาพแวดล้อมที่รันโปรแกรมเหล่านี้ ตัวอย่างทั่วไปคือการส่งออก เส้นทาง ตัวแปร. คุณสามารถประกาศได้ดังต่อไปนี้ เพื่อให้สามารถเล่นกับซอฟต์แวร์จำลองการบินที่อยู่ใน /opt/FlightGear/bin:
เด็บบี้:~> PATH=$PATH:/opt/FlightGear/bin สิ่งนี้สั่งให้เชลล์ไม่เพียงค้นหาโปรแกรมในเส้นทางปัจจุบัน $ PATHแต่ยังอยู่ในไดเรกทอรีเพิ่มเติม /opt/FlightGear/bin.
อย่างไรก็ตาม ตราบใดที่ค่าใหม่ของ เส้นทาง สภาพแวดล้อมไม่รู้จักตัวแปรสิ่งต่าง ๆ จะยังคงไม่ทำงาน:
เด็บบี้:~> runfgfs
bash: runfgfs: ไม่พบคำสั่ง
เด็บบี้:~> runfgfs
bash: runfgfs: ไม่พบคำสั่ง
การส่งออกตัวแปรทำได้โดยใช้คำสั่งในตัวของเชลล์ ส่งออก:
เด็บบี้:~> ส่งออกเส้นทาง
เด็บบี้:~> runfgfs
--โปรแกรมจำลองการบินเริ่มต้นขึ้น--
เด็บบี้:~> ส่งออกเส้นทาง
เด็บบี้:~> runfgfs
--โปรแกรมจำลองการบินเริ่มต้นขึ้น--
ใน Bash ปกติเราจะทำสิ่งนี้ในขั้นตอนเดียว:
ส่งออก ตัวแปร=ความคุ้มค่า
เทคนิคเดียวกันนี้ใช้สำหรับ มานพ ตัวแปรที่บอก มนุษย์ คำสั่งที่จะค้นหา man page ที่ถูกบีบอัด หากมีการเพิ่มซอฟต์แวร์ใหม่ลงในระบบในไดเร็กทอรีใหม่หรือผิดปกติ เอกสารประกอบของซอฟต์แวร์ดังกล่าวก็อาจจะอยู่ในไดเร็กทอรีที่ไม่ปกติด้วย หากคุณต้องการอ่าน man page สำหรับซอฟต์แวร์ใหม่ ให้ขยาย มานพ ตัวแปร:
เด็บบี้:~> ส่งออก MANPATH=$MANPATH:/opt/FlightGear/man
เด็บบี้:~> เสียงสะท้อน $MANPATH
/usr/man:/usr/share/man:/usr/local/man:/usr/X11R6/man:/opt/FlightGear/man
เด็บบี้:~> ส่งออก MANPATH=$MANPATH:/opt/FlightGear/man
เด็บบี้:~> เสียงสะท้อน $MANPATH
/usr/man:/usr/share/man:/usr/local/man:/usr/X11R6/man:/opt/FlightGear/man
คุณสามารถหลีกเลี่ยงการพิมพ์คำสั่งนี้ซ้ำในทุกหน้าต่างที่คุณเปิดโดยเพิ่มลงในไฟล์การตั้งค่าเชลล์ไฟล์ใดไฟล์หนึ่งของคุณ โปรดดูหัวข้อ 7.2.2
7.2.1.3. ตัวแปรสำรอง
ตารางต่อไปนี้แสดงภาพรวมของตัวแปรที่กำหนดไว้ล่วงหน้าที่พบบ่อยที่สุด:
ตารางที่ 7-1. ตัวแปรสภาพแวดล้อมทั่วไป
ชื่อตัวแปร | ข้อมูลที่เก็บไว้ |
การแสดงผล | ใช้โดยระบบ X Window เพื่อระบุเซิร์ฟเวอร์แสดงผล |
DOMAIN | ชื่อโดเมน |
บรรณาธิการ | เก็บโปรแกรมแก้ไขบรรทัดที่คุณชื่นชอบ |
ฮิสต์ไซส์ | ขนาดของไฟล์ประวัติเชลล์ในจำนวนบรรทัด |
หน้าหลัก | เส้นทางไปยังโฮมไดเร็กตอรี่ของคุณ |
ชื่อโฮสต์ | ชื่อโฮสต์ท้องถิ่น |
อินพุทอาร์ซี | ตำแหน่งของไฟล์คำจำกัดความสำหรับอุปกรณ์อินพุตเช่นแป้นพิมพ์ |
ภาษา | ภาษาที่ต้องการ |
LD_LIBRARY_PATH | เส้นทางการค้นหาห้องสมุด |
ชื่อล็อก | ชื่อล็อกอิน |
ตำแหน่งของโฟลเดอร์อีเมลขาเข้าของคุณ | |
มานพ | เส้นทางในการค้นหาหน้าคน |
OS | สตริงอธิบายระบบปฏิบัติการ |
โอเอสไทป์ | ข้อมูลเพิ่มเติมเกี่ยวกับรุ่น ฯลฯ |
เพจเจอร์ | ใช้โดยโปรแกรมเช่น มนุษย์ ซึ่งจำเป็นต้องรู้ว่าต้องทำอย่างไรในกรณีที่เอาต์พุตมีมากกว่าหนึ่งหน้าต่างเทอร์มินัล |
เส้นทาง | เส้นทางการค้นหาคำสั่ง |
PS1 | พรอมต์หลัก |
PS2 | พรอมต์รอง |
PWD | ไดเรกทอรีการทำงานปัจจุบัน |
SHELL | เปลือกปัจจุบัน |
ระยะ | ประเภทอาคาร |
โพสต์ | ID ผู้ใช้ |
ชื่อผู้ใช้) | ชื่อผู้ใช้ |
VISUAL | โปรแกรมแก้ไขแบบเต็มหน้าจอที่คุณชื่นชอบ |
สิ่งแวดล้อม | ตำแหน่งของการตั้งค่าส่วนบุคคลของคุณสำหรับพฤติกรรม X |
XFILESEARCHPATH | เส้นทางการค้นหาไลบรารีกราฟิก |
ตัวแปรจำนวนมากไม่ได้กำหนดไว้ล่วงหน้าเท่านั้น แต่ยังตั้งค่าไว้ล่วงหน้าโดยใช้ไฟล์การกำหนดค่า เราจะพูดถึงสิ่งเหล่านี้ในหัวข้อถัดไป
7.2.2. ไฟล์ติดตั้งเชลล์
เมื่อเข้าสู่ ls -อัล คำสั่งเพื่อดูรายการไฟล์ทั้งหมดแบบยาว รวมถึงไฟล์ที่ขึ้นต้นด้วยจุด ในโฮมไดเร็กตอรี่ของคุณ คุณจะเห็นไฟล์ตั้งแต่หนึ่งไฟล์ขึ้นไปที่ขึ้นต้นด้วย . และลงท้ายด้วย rc. สำหรับกรณีของ ทุบตีนี้เป็น .bashrc. นี่คือคู่ของไฟล์การกำหนดค่าทั้งระบบ / etc / bashrc.
เมื่อล็อกอินเข้าสู่เชลล์ล็อกอินแบบโต้ตอบ เข้าสู่ระบบ จะทำการตรวจสอบ ตั้งค่าสภาพแวดล้อม และเริ่มเชลล์ของคุณ ในกรณีของ ทุบตีขั้นตอนต่อไปคือการอ่านทั่วไป โปรไฟล์ จาก / ฯลฯหากมีไฟล์นั้นอยู่ ทุบตี แล้วมองหา ~ / .bash_profile, ~/.bash_login และ ~ / .profileตามลำดับนั้น และอ่านและดำเนินการคำสั่งจากคำสั่งแรกที่มีอยู่และสามารถอ่านได้ หากไม่มีอยู่ / etc / bashrc ถูกนำมาใช้