![ターミナルを開くときにこの問題が発生するのはなぜですか? Line 12:マーカー「fi」の近くに予期しない構文エラーがありますか? [閉鎖]](https://linux33.com/image/212480/%E3%82%BF%E3%83%BC%E3%83%9F%E3%83%8A%E3%83%AB%E3%82%92%E9%96%8B%E3%81%8F%E3%81%A8%E3%81%8D%E3%81%AB%E3%81%93%E3%81%AE%E5%95%8F%E9%A1%8C%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%99%E3%82%8B%E3%81%AE%E3%81%AF%E3%81%AA%E3%81%9C%E3%81%A7%E3%81%99%E3%81%8B%EF%BC%9F%20Line%2012%EF%BC%9A%E3%83%9E%E3%83%BC%E3%82%AB%E3%83%BC%E3%80%8Cfi%E3%80%8D%E3%81%AE%E8%BF%91%E3%81%8F%E3%81%AB%E4%BA%88%E6%9C%9F%E3%81%97%E3%81%AA%E3%81%84%E6%A7%8B%E6%96%87%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8B%EF%BC%9F%20%5B%E9%96%89%E9%8E%96%5D.png)
このコンテンツを投稿するのに適したコミュニティでない場合はお詫び申し上げます。私の質問に適用される適切な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つです。
- 「fi」に関連する最初の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/