XTerm을 시작하면 내 .bashrc가 소스를 얻지 못합니다.

XTerm을 시작하면 내 .bashrc가 소스를 얻지 못합니다.

내 거 ~/.bashrc:https://pastebin.com/VA7RLA2E

내 거 ~/.Xresources:https://pastebin.com/qSF1z0w4

.bashrcXTerm이 시작 시 소스 코드를 자동으로 가져오도록 하려면 어떻게 해야 합니까 ? 현재 새 XTerm 창을 열 때마다 ~/.bashrc.

내 운영 체제는 Ubuntu 18.04입니다.

답변1

파일 에 ~/.Xresources한 줄이 있습니다

xterm*loginShell: true

그러면 XTerm이 로그인 쉘로 쉘 세션을 시작하게 됩니다. 로그인 셸로 실행 하면 파일을 읽지만 bash명시적으로 읽지 않는 한 읽지 ~/.bash_profile않습니다 ~/.bashrc(로그인이 아닌 대화형 세션에서 파일을 읽음).~/.bash_profilesource

두 가지 옵션이 있습니다:

  1. ~/.Xresources쉘이 로그인 쉘이어야 함 을 지정하는 행을 제거하십시오 . 파일을 다시 읽고 변경 사항을 적용하려면 그래픽 로그인 세션을 종료해야 할 수도 있습니다.
  2. 파일 이 동시에 파일을 가져오지 않도록 주의하면서 파일을 파일 로 ~/.bash_profile만드세요 ( 무한 루프가 생성됨).source~/.bashrc~/.bashrc~/.bash_profile

    이를 수행하는 방법의 예(파일에 추가됨 ~/.bash_profile):

    if [ -o interactive ] && [ -f ~/.bashrc ]; then
       source ~/.bashrc
    fi
    

    /etc/profilevs와 비슷한 작업을 수행 해야 할 수도 있고, /etc/bash.bashrc아직 존재하지 않는 경우 시스템의 어느 위치에서나 수행해야 할 수도 있습니다. bashrc그러나 /etc/profileBourne과 유사한 모든 쉘이 읽기 때문에 그뿐만 아니라 bash약간의 조정이 필요합니다.

    if [ -n "$BASH" ] &&
       [ "$BASH" != /bin/sh ] &&
       [ -o interactive ] &&
       [ ! -o posix ] &&
       [ -f /etc/bash.bashrc ]
    then
      source /etc/bash.bashrc
    fi
    

답변2

나는 다음을 수행할 것입니다:

  • .bashrc가 홈 폴더에 있는지 확인하세요.
  • 당신의 것인지 확인하세요

    xterm -e bash --rcfile /home/someuser/.bashrc
    

관련 정보