터미널을 열면 다음 오류가 발생합니다.
bash: /home/ai/.bashrc: line 75: syntax error near unexpected token `['
bash: /home/ai/.bashrc: line 75: `if [ -x /usr/bin/dircolors ]; then'
주석으로 시작하는 bashrc 파일 스크립트의 관련 부분은 다음과 같습니다.
# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
#alias dir='dir --color=auto'
#alias vdir='vdir --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
fi
내가 뭘 잘못하고 있고 어떻게 해결할 수 있나요?
답변1
Pastebin 링크를 보면 문제가 있는 블록 앞에서 esac
끝나는 문이 누락되었습니다.case
답변2
이 코드 블록 이전에 오류가 발생했을 가능성이 높습니다. 예를 들어, 이 코드를 자체 스크립트에 넣고 다음 echo
과 같이 별칭을 지정하면 다음과 같습니다.
#!/bin/bash
# example.bash
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
echo "alias ls='ls --color=auto'"
#alias dir='dir --color=auto'
#alias vdir='vdir --color=auto'
echo "alias grep='grep --color=auto'"
echo "alias fgrep='fgrep --color=auto'"
echo "alias egrep='egrep --color=auto'"
fi
알겠어요:
$ ./example.bash
alias ls='ls --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
이것은 그것이 좋다는 것을 보여줍니다.
케이스 차단 종료
이 블록에는 대응 항목이 없습니다 esac
.
case "$TERM" in
xterm*|rxvt*)
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
;;
*)
....