ฉันใช้หน้าจอเป็นประจำทุกวันสำหรับความต้องการของเครื่องและฉันมีความสุขมากกับมัน เมื่อเร็ว ๆ นี้ แต่ผมทำบางอย่างเพื่อการปรับปรุงแฟ้มการกำหนดค่าทุบตีของฉันและฉันสังเกตเห็นว่าผมได้รับการตั้งค่าต่าง ๆPATH
องค์ประกอบ ( PATH
, MANPATH
, INFOPATH
ฯลฯ ) ในสถานที่ 2 แห่ง .bash_profile
ผมปรับเปลี่ยนไฟล์ที่จะเป็นสิ่งที่พวกเขาควรจะเป็นและตอนนี้ทั้งหมดของตัวแปรสภาพแวดล้อมของฉันได้รับการตั้งครั้งเดียวใน นี่คือปัญหาของฉัน
เห็นได้ชัดว่าเหตุผลที่ฉันตั้งค่าพวกเขาในสองสถานที่เป็นเพราะหน้าจอ หน้าจอปรากฏขึ้นเพื่อดำเนินการเท่านั้น.bashrc
และไม่ได้รับมรดกPATH
ตัวแปรสภาพแวดล้อมอื่น ๆของฉันหรืออย่างถูกต้องจากเปลือก bash ดั้งเดิมของฉัน เพราะเพียงดำเนินการ.bashrc
และตอนนี้ฉันตั้งค่าตัวแปรของฉันในเพียงฉันได้รับไม่สมบูรณ์.bash_profile
PATH
คำถามของฉันคือการทำให้ตัวแปรสภาพแวดล้อมของฉันเข้าสู่หน้าจอโดยไม่ต้องทำซ้ำ การอ่านผ่านBash
เอกสารดูเหมือนจะบ่งบอกว่ามันอาจเป็นชนิดของเชลล์ที่หน้าจอใช้ในการเข้าสู่ระบบนั่นคือเชลล์แบบโต้ตอบที่ไม่ใช่การเข้าสู่ระบบแต่ฉันไม่สามารถหาวิธีบังคับให้หน้าจอใช้เชลล์ชนิดใดชนิดหนึ่งเท่านั้น -s /bin/bash
เปลือกใช้ผ่านทาง
คุณสามารถอ่าน config ไฟล์ของฉันที่หน้า GitHub ของฉัน นี่คือการกระทำการกระทำที่หน้าจอยากจน
แก้ไข:ฉันใช้Screen version 4.00.03 (FAU) 23-Oct-06
และฉันมักจะเรียกใช้โดยscreen -h 50000
แก้ไข:ตอนนี้ฉันสามารถทดสอบบน Cygwin ( CYGWIN_NT-5.1 1.7.1(0.218/5/3) i686
, Screen version 4.00.03 (FAU) 23-Oct-06
) และมันแสดงพฤติกรรมที่แตกต่างจากบน Mac ของฉัน
พฤติกรรมเฉพาะที่ฉันค้นพบตอนนี้คือใน Cygwin การเปลี่ยนแปลงที่ฉันทำPATH
ใน. bash_profile นั้นซ้ำกันเมื่อเข้าสู่หน้าจอจากนั้นการสร้างหน้าต่างหน้าจอที่ต่อเนื่องกันจะไม่ทำซ้ำเส้นทาง แต่ทำซ้ำ. bash_profile
เพื่อแสดงพฤติกรรมที่ฉันกำลังพูดถึง:
เอาท์พุทจากสถานีสด:
...
PATH: /home/tvishe01/bin/emacs/bin:/home/tvishe01/bin:/usr/local/bin:/usr/bin:/bin:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/Program Files/ATI Technologies/ATI.ACE/Core-Static:/groovy-1.6.1/bin:/usr/lib/lapack
MANPATH: /home/tvishe01/share/man:/usr/local/man:/usr/share/man:/usr/man::/usr/ssl/man
Aliases:
alias ..='cd ..'
alias ...='cd ../..'
...
[~]$
เอาต์พุตจากการร้องขอหน้าจอแรก:
[~]$ screen -h 50000 -s -/bin/bash
...
PATH: /home/tvishe01/bin/emacs/bin:/home/tvishe01/bin:/usr/local/bin:/usr/bin:/bin:/home/tvishe01/bin/emacs/bin:/home/tvishe01/bin:/usr/local/bin:/usr/bin:/bin:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/Program Files/ATI Technologies/ATI.ACE/Core-Static:/groovy-1.6.1/bin:/usr/lib/lapack
MANPATH: /home/tvishe01/share/man:/usr/local/man:/usr/share/man:/usr/man:/home/tvishe01/share/man:/usr/local/man:/usr/share/man:/usr/man::/usr/ssl/man:/usr/ssl/man
Aliases:
alias ..='cd ..'
alias ...='cd ../..'
...
[~]$
การโทรครั้งต่อไปที่C-a c
:
...
PATH: /home/tvishe01/bin/emacs/bin:/home/tvishe01/bin:/usr/local/bin:/usr/bin:/bin:/home/tvishe01/bin/emacs/bin:/home/tvishe01/bin:/usr/local/bin:/usr/bin:/bin:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/Program Files/ATI Technologies/ATI.ACE/Core-Static:/groovy-1.6.1/bin:/usr/lib/lapack
MANPATH: /home/tvishe01/share/man:/usr/local/man:/usr/share/man:/usr/man:/home/tvishe01/share/man:/usr/local/man:/usr/share/man:/usr/man::/usr/ssl/man:/usr/ssl/man
Aliases:
alias ..='cd ..'
alias ...='cd ../..'
...
[~]$
คุณสามารถเห็น