ไฟล์. bash_profile (และไฟล์. profile เช่นกัน) ถูกโหลดสำหรับเชลล์การเข้าสู่ระบบเชลล์ที่ไม่ใช่การเข้าสู่ระบบใช้. bashrc (ไม่มี _ สัญลักษณ์) มีบรรทัดในไฟล์. screenrc ที่บอกหน้าจอว่าเชลล์จะวางไข่เมื่อเริ่มต้นหน้าต่างหน้าจอ (เมื่อไม่ได้เรียกใช้โปรแกรมเฉพาะเป็นแอปพลิเคชันหน้าต่าง) ในไฟล์. screenrc ของฉันนี่เป็นเช่นนี้ (รวมถึงความคิดเห็นด้วย):
# shell: Default process started in screen's windows.
# Makes it possible to use a different shell inside screen
# than is set as the default login shell.
# If begins with a '-' character, the shell will be started as a login shell.
shell -$SHELL
ตรวจสอบไฟล์. screenrc ของคุณและตรวจสอบว่าบรรทัดเชลล์มีเส้นประอยู่ด้านหน้า โดยการมีสัญลักษณ์เส้นประนั้นและบังคับให้เชลล์ล็อกอินคุณจะได้รับ. bash_profile ที่มา ตัวแปร $ SHELL ใน. screenrc ของฉันกำลังใช้ค่าเชลล์ตามที่เชลล์จัดทำขึ้นเพื่อเปิดหน้าจอ
ในกรณีที่คุณสงสัยความแตกต่างที่ใหญ่ที่สุดที่ฉันสามารถค้นพบระหว่างล็อกอินกับเชลล์ที่ไม่ใช่การล็อกอินคือปกติแล้วเชลล์ที่ไม่ใช่การล็อกอินจะเป็นสิ่งที่เรียกใช้สำหรับการเรียกใช้สคริปต์