端末を開くと、次のエラーが発生します。
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"
;;
*)
....