Fedora 컴퓨터에서 터미널을 열면 (또는 ssh) 프롬프트가 표시되기 전에 다음과 같은 여러 줄이 나타납니다.
declare -x CVS_RSH="ssh"
declare -x DISPLAY="localhost:10.0"
declare -x G_BROKEN_FILENAMES="1"
declare -x HISTSIZE="1000"
…
이 원인은 무엇입니까? 이것은 내 편집 후 발생했을 수 .bashrc
있지만 변경된 모든 경로는 “PATH =”에 다른 디렉토리 경로를 추가하는 것입니다.
업데이트 (에 응답 heavyd 내가 grep’ed :의 대답) ~/.bashrc
, ~/.bash_profile
그리고 /etc/bashrc
는 “선언”아무것도 찾을 수 없습니다.
나는 다음을 포함 /etc/bashrc
하기 때문에 보았다 ~/.bashrc
.
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
위의 코드 “PATH =…”, “export …”및 “alias …”를 제외하고 ~/.bashrc
또는 ~/.bash_profile
스크립트에 아무것도 표시되지 않습니다 .
.bashrc
” bash ~/.bashrc
“를 사용하여 스크립트 또는 .bash_profile
스크립트 를 실행하면 “선언”목록이 표시되지만 오류 메시지는 표시되지 않습니다. (내가 달리면 아무것도 보이지 않는다 /etc/bashrc
.)
~./bash_profile
매우 간단합니다 :
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
해결 : andrew.n 감사 합니다 . 귀하의 제안은 그것을 추적하는 데 도움이되었습니다. 하나만 실행하면 “declare -x…”행이 모두 출력되며 export
실수로 “export”와 “PATH =…”사이에 CR을 삽입했습니다 .bashrc
.
답변
운영
env - HOME="$HOME" /bin/bash --login -xv 2>&1 | tee foo
상세 모드에서 bash를 시작합니다. 이것은 모든 초기화 파일을 읽을 때 출력하고 모든 초기화 파일이 실행될 때 출력을이라는 파일에 복사합니다 foo
. 그런 다음 호출 foo
원인 declare -x
을 확인할 수 있습니다.
답변
많은 declare ...
진술은 export
인수없이 어딘가에서 실행 된 결과 라는 것을 알아 냈습니다 .
내 실수로 줄 바꿈을 찾았습니다 .bashrc
.
export
VARIABLE=value
어느 것
export VARIABLE=value
답변
예, .bashrc가 편집했기 때문에 제공되었을 가능성이 큽니다. 스크립트에 구문 오류가 발생하여 출력 될 수 있습니다.
다음을 입력하여이 행이 .bashrc에 있는지 확인할 수 있습니다.
grep declare ~/.bashrc
콘솔에 4 줄 이상이 인쇄되어 있어야합니다. 프롬프트에서 .bashrc 스크립트를 실행하여 오류가 출력되는지 확인할 수도 있습니다.
bash ~/.bashrc