ターミナルを開くときにこの問題が発生するのはなぜですか? Line 12:マーカー「fi」の近くに予期しない構文エラーがありますか? [閉鎖]

ターミナルを開くときにこの問題が発生するのはなぜですか? Line 12:マーカー「fi」の近くに予期しない構文エラーがありますか? [閉鎖]

このコンテンツを投稿するのに適したコミュニティでない場合はお詫び申し上げます。私の質問に適用される適切なStackexchangeコミュニティに私を接続してください。このエラーについてサイトを検索しましたが、技術に精通していないために何が起こっているのか理解できないので、ご了承いただきありがとうございます。

問題:Macで端末を起動するたびにこのエラーが発生します。

-bash: /Users/Anthonywes/.bash_profile: line 12: syntax error near unexpected token `fi'
-bash: /Users/Anthonywes/.bash_profile: line 12: `    fi'

これが何を意味し、何が起こっているのかわかりません。私はbashが何を意味するのかさえ理解していません。何が起こっているのか私に説明できる人はいますか?

このビデオ(タイムスタンプ:1:09:04)からMySQLをインストールしようとしたときにこの問題が見つかりました。https://www.youtube.com/watch?v=HXV3zeQKqGY&t=3950s&ab_channel=freeCodeCamp.org

次のようにする必要があります。 ここに画像の説明を入力してください。

しかし、これは私にとって効果的です。

-bash: /Users/Anthonywes/.bash_profile: line 12: syntax error near unexpected token `fi'
-bash: /Users/Anthonywes/.bash_profile: line 12: `    fi'
Anthonys-Air:~ -bash: /Users/Anthonywes$ echo 'export PATH=/usr/local/mysql/bin:$PATH' >> ~/.bash_profile
Anthonys-Air:~ -bash: /Users/Anthonywes$ . ~/.bash_profile
-bash: /Users/Anthonywes/.bash_profile: line 12: syntax error near unexpected token `fi'
-bash: /Users/Anthonywes/.bash_profile: line 12: `    fi'

以下は.bash_profileの内容です。

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/Users/Anthonywes/opt/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/Users/Anthonywes/opt/anaconda3/etc/profile.d/conda.sh" ]; then
        . "/Users/Anthonywes/opt/anaconda3/etc/profile.d/conda.sh"
    else
        
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

export PATH=/usr/local/mysql/bin:$PATH
export PATH=/usr/local/mysql/bin:$PATH
export PATH=/usr/local/mysql/bin:$PATH

数ヶ月前にAnacondaを削除しようとしたところ、ファイルから1行を削除するように求められました。ここでエラーが発生しますか?

質問: だから私の質問は2つです。

  1. 「fi」に関連する最初の2行のエラーは実際に何を意味しますか?私は何が起こっているかについての一般的なアイデアを得たいと思います。
  2. この問題をどのように解決し、あなたが書いたものがこの問題を解決するのかを説明できますか?

ベストアンサー1

文に空のブランチがあると、構文エラーが発生しますif

else
(nothing)        
fi

これによりエラーが発生します。削除空のelseブランチを削除します。

if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/Users/Anthonywes/opt/anaconda3/etc/profile.d/conda.sh" ]; then
        . "/Users/Anthonywes/opt/anaconda3/etc/profile.d/conda.sh"
    fi
fi

より多くの情報が必要な場合は訪問してくださいhttps://www.shellcheck.net/

おすすめ記事