ทำไมเราถึงมี bash shell เข้าสู่ระบบ, ไม่โต้ตอบ, และไม่โต้ตอบ?
ดังนั้นคนทุบตีหน้าอธิบายการเข้าสู่ระบบและเปลือกโต้ตอบ: เปลือกเข้าสู่ระบบเป็นหนึ่งที่มีอักขระตัวแรกของศูนย์อาร์กิวเมนต์เป็น - หรือหนึ่งเริ่มต้นด้วยตัวเลือก --login เชลล์แบบโต้ตอบเริ่มต้นหนึ่งโดยไม่มีอาร์กิวเมนต์ที่ไม่ใช่ตัวเลือกและไม่มีตัวเลือก -c ซึ่งทั้งอินพุตและข้อผิดพลาดมาตรฐานเชื่อมต่อกับเทอร์มินัล (ตามที่กำหนดโดย isatty (3)) หรือเริ่มด้วยตัวเลือก -i มีการตั้งค่า PS1 และ $ - รวม i หาก bash เป็นแบบโต้ตอบอนุญาตให้เชลล์สคริปต์หรือไฟล์เริ่มต้นเพื่อทดสอบสถานะนี้ ฉันคิดว่านี่หมายความว่าเราสามารถมีกระสุนได้ 4 แบบ: เชลล์ล็อกอินแบบโต้ตอบ เชลล์ล็อกอินที่ไม่โต้ตอบ เชลล์ที่ไม่ใช่การล็อกอินแบบโต้ตอบ เชลล์ที่ไม่ใช่การล็อกอินแบบไม่โต้ตอบ แต่ทำไมเราถึงมีเชลล์แบบตอบโต้ / ไม่โต้ตอบและล็อกอิน / ไม่ใช่เข้าสู่ระบบในตอนแรก? ทำไมต้องเป็นวาไรตี้? เราจะเสียอะไรถ้าเรามีเปลือกประเภทเดียว นอกจากนี้เมื่อพยายามที่จะตรวจสอบว่าฉันอยู่ในเปลือกเข้าสู่ระบบโดยการเรียกใช้echo $-มันก็ส่งออก: himBH บางส่วนของสถานะเหล่านี้มีการอธิบายที่นี่แต่h, Hและmไม่ได้อธิบาย มีสถานที่ที่อธิบายธงเหล่านี้ทั้งหมดหรือไม่