เชลล์มีหลายประเภท เชลล์การดำเนินการคำสั่ง SSH เป็นเชลล์แบบไม่โต้ตอบในขณะที่เชลล์ปกติของคุณเป็นเชลล์ล็อกอินหรือเชลล์แบบโต้ตอบ คำอธิบายดังนี้จากการทุบตีมนุษย์:
เชลล์ล็อกอินคือหนึ่งที่มีอาร์กิวเมนต์ตัวแรก
ศูนย์คือ - หรือเริ่มด้วยตัวเลือก --login
เชลล์เชิงโต้ตอบเริ่มต้นหนึ่งโดยไม่มีตัวเลือก
อาร์กิวเมนต์และไม่มีตัวเลือก -c ซึ่งมีอินพุตมาตรฐาน
และข้อผิดพลาดทั้งสองเชื่อมต่อกับขั้ว (ตามที่กำหนด
โดย isatty (3)) หรือเริ่มต้นด้วยตัวเลือก -i PS1 คือ
กำหนดและ $ - รวมถึงฉันถ้าทุบตีเป็นแบบโต้ตอบการอนุญาต
เชลล์สคริปต์หรือไฟล์เริ่มต้นเพื่อทดสอบสถานะนี้
ย่อหน้าต่อไปนี้อธิบายถึงวิธีการทุบตีรัน
ไฟล์เริ่มต้น หากมีไฟล์ใด ๆ อยู่ แต่ไม่สามารถทำได้
อ่านทุบตีรายงานข้อผิดพลาด Tildes ถูกขยายในไฟล์
ชื่อตามที่อธิบายไว้ด้านล่างภายใต้ Tilde Expansion ใน
ส่วนการขยาย
เมื่อ bash ถูกเรียกใช้เป็นเชลล์ล็อกอินแบบโต้ตอบหรือเป็น
เชลล์ที่ไม่มีการโต้ตอบพร้อมด้วยตัวเลือก --login เป็นเชลล์ก่อน
อ่านและดำเนินการคำสั่งจากไฟล์ / etc / profile ถ้า
มีไฟล์นั้นอยู่ หลังจากอ่านไฟล์นั้นแล้วมันจะค้นหา
~ / .bash_profile, ~ / .bash_login และ ~ / .profile ในนั้น
สั่งซื้อและอ่านและดำเนินการคำสั่งจากคนแรก
ที่มีอยู่และสามารถอ่านได้ ตัวเลือก - ไม่มีโปรไฟล์อาจ
ใช้เมื่อเชลล์เริ่มยับยั้งพฤติกรรมนี้
IOR
เมื่อเชลล์ล็อกอินออกจาก bash จะอ่านและดำเนินการคำสั่ง
จากไฟล์ ~ / .bash_logout หากมีอยู่
เมื่อเปลือกโต้ตอบที่ไม่ใช่เปลือกเข้าสู่ระบบคือ
เริ่มต้นทุบตีอ่านและดำเนินการคำสั่งจาก ~ / .bashrc
หากไฟล์นั้นมีอยู่ สิ่งนี้อาจถูกยับยั้งโดยการใช้
- ตัวเลือกหรือไม่ ตัวเลือกไฟล์ --rcfile จะบังคับให้ทุบตี
เพื่ออ่านและดำเนินการคำสั่งจากไฟล์แทน
~ / .bashrc
เมื่อ bash เริ่มทำงานแบบไม่โต้ตอบให้เรียกใช้ shell
ตัวอย่างเช่นสคริปต์ค้นหาตัวแปร BASH_ENV ใน
สภาพแวดล้อมขยายค่าถ้ามันปรากฏขึ้นที่นั่น
และใช้ค่าที่ขยายเป็นชื่อของไฟล์ที่จะอ่าน
และดำเนินการ Bash ทำตัวเหมือนคำสั่งต่อไปนี้
ถูกประหารชีวิต:
ถ้า [-n "$ BASH_ENV"]; จากนั้น "$ BASH_ENV"; Fi
แต่ค่าของตัวแปร PATH ไม่ได้ถูกใช้เพื่อค้นหา
สำหรับชื่อไฟล์