이 콘텐츠를 게시하기에 적합한 커뮤니티가 아니라면 사과드립니다. 제 질문에 적용되는 적절한 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를 제거하려고 했더니 파일에서 한 줄을 삭제하라는 메시지가 나타났습니다. 여기서 오류가 발생합니까?
질문: 그래서 내 질문은 두 가지입니다.
- "fi"와 관련된 처음 두 줄의 오류는 실제로 무엇을 의미합니까? 나는 무슨 일이 일어나고 있는지에 대한 일반적인 아이디어를 얻고 싶습니다.
- 이 문제를 어떻게 해결하고 귀하가 작성한 내용이 이 문제를 해결하는 이유를 설명할 수 있습니까?
답변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/