質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
bash

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Q&A

解決済

2回答

1246閲覧

ターミナル起動時のエラーメッセージ

imotarou

総合スコア11

bash

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

0グッド

1クリップ

投稿2019/05/10 02:26

編集2019/05/12 11:45

前提・実現したいこと

プログラミング初心者です
ターミナル起動時に出ていたエラーメッセージを修正したところ今度は次のようなエラーメッセージが出るようになりました。
なお質問を編集しました。
どう対処すれば良いか教えてください。

発生している問題・エラーメッセージ

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

.bash_profile の内容

# added by Anaconda3 2018.12 installer # >>> conda init >>> # !! Contents within this block are managed by 'conda init' !! __conda_setup="$(CONDA_REPORT_ERRORS=false '/Users/username/anaconda3/bin/c onda' shell.bash hook 2> /dev/null)" if [ $? -eq 0 ]; then \eval "$__conda_setup" else if [ -f "/Users/username/anaconda3/etc/profile.d/conda.sh" ]; then . "/Users/username/anaconda3/etc/profile.d/conda.sh" CONDA_CHANGEPS1=false conda activate base else fi fi unset __conda_setup # <<< conda init <<< eval "$(pyenv init -)" eval "$(pyenv init -)"

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kazto

2019/05/10 02:51

.bash_profile か .bashrc の中で、「eval "$(pyenv init -)"」のような行があるかと思います。その周辺の内容を追記お願いします。
imotarou

2019/05/10 02:57

そのような行はどう出せば良いのでしょうか。 初心者なものでわかりません。なお質問にあげたエラー文が起動時にでる文全体です。
kazto

2019/05/10 03:55

「less ~/.bash_profile」「less ~/.bashrc」で表示させてください。 lessコマンドはファイルの内容を表示するコマンドです。上下矢印キーで表示を移動できます。「q」キーを打つことでlessコマンドを終了できます。
imotarou

2019/05/10 09:26

ご丁寧にありがとうございます。返信遅れて申し訳ありません。 # added by Anaconda3 2018.12 installer # >>> conda init >>> # !! Contents within this block are managed by 'conda init' !! __conda_setup="$(CONDA_REPORT_ERRORS=false '/Users/username/anaconda3/bin/c onda' shell.bash hook 2> /dev/null)" if [ $? -eq 0 ]; then \eval "$__conda_setup" else if [ -f "/Users/username/anaconda3/etc/profile.d/conda.sh" ]; then . "/Users/username/anaconda3/etc/profile.d/conda.sh" CONDA_CHANGEPS1=false conda activate base else \export PATH="/Users/username/anaconda3/bin:$PATH" fi fi unset __conda_setup # <<< conda init <<< export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init -)" export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init -)" export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" : それから、 /Users/username/.bashrc: No such file or directory です。よろしくお願いします。 なおanacondaを入れようとしてインストール中電波が悪くて中断してしまうというトラブルがありました。先にいうべきだったでしょうか?
guest

回答2

0

ベストアンサー

.bash_profileに

bash

1# !! Contents within this block are managed by 'conda init' !! 2

と書いてあります。
.bash_profileでエラーになっている部分を修正するのは必要でしょうが、pythonが実行時に必要だから.bash_profileに追加しているのです。
必要な部分まで削除していたら、pythonが動かない可能性もあります(消してしまった部分を必要とするときだけ動かない)。

conda init(anaconda)が.bash_profileにどういう修正をしようとしていたかを把握できていないのならば、pythonをアンインストールし、.bash_profileに自分で書いた部分がないのならば一旦削除し、再度pythonをインストールしたほうが安全です。

投稿2019/05/14 09:51

sage

総合スコア1216

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

imotarou

2019/05/29 11:16

上記の方法で無事解決したようです。ありがとうございました。
guest

0

⇓ 質問内容の変更を受け回答内容を追加
もともとあった

\export PATH="/Users/username/anaconda3/bin:$PATH"

が消えてしまっています。
二つ目の elsefi の間(12行目?)に戻しておいてください。
⇑追加ここまで


ご提示の .bash_profile

bash

1export PYENV_ROOT="$HOME/.pyenv" 2export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init -)" 3export PATH="$PYENV_ROOT/bin:$PATH" 4eval "$(pyenv init -)" 5export PYENV_ROOT="$HOME/.pyenv" 6export PATH="$PYENV_ROOT/bin:$PATH"

を見ると export コマンドの後ろに eval "$(…)" がついていて、おかしいです。
また同じコマンドが2度3度と書かれていることから、
pyenv か何かがインストール時に .bash_profile を書き換えるのでしょうが、それがうまくいっていません。
単純にはこれら6行を消せばターミナルにメッセージは出なくなるでしょう。

投稿2019/05/11 05:26

編集2019/05/13 03:29
criticabug

総合スコア71

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

imotarou

2019/05/12 05:33

ご丁寧にありがとうございます。 6行分消すことができ長いエラーメッセージは消えました しかし今度は -bash: /Users/username/.bash_profile: line 12: syntax error near unexpected token `fi' -bash: /Users/username/.bash_profile: line 12: ` fi' というエラーが出るようになりました。 .bash_profile の内容を削除できないかと試しましたが12行だけというのも含めこれ以上変更ができません。 これについても対応を教えていただけると幸いです。お手間をおかけしすみません。
criticabug

2019/05/12 06:25

文法エラー syxtax error というものはファイルの全体を見ないとどこがおかしいかはっきりしません。 あとコピペするときもMarkdown記法のコード囲むやつをやってください。(コメントじゃなくて本文に追記するほうがいいです。回答に必要な情報なので。) `fi` というのは BASH の if 文の終わりです。対応する `if` が無いのに `fi` が現れると、unexpected token 予期してない要素ってことになります。
criticabug

2019/05/12 06:29

追記というと紛らわしいですね。本文を編集して更新してほしいです。
imotarou

2019/05/13 11:38

なんどもすみません。戻し方(編集の仕方)を教えてください。
criticabug

2019/05/24 04:04

?? テキストエディターで else の後ろにカーソルを合わせて、 ``` \export PATH="/Users/username/anaconda3/bin:$PATH" ``` と書くということなんですが、自分で .bash_profile のどこを変更したのか把握できていないということですよね。 sage さんのいうように .bash_profile を削除(もしくは念のため別名にリネーム)して安定した通信環境で anaconda (や pyenv?)を再インストールするのがいいんじゃないでしょうか
imotarou

2019/05/29 11:15

ありがとうございます。 無事解決しました。ご丁寧に回答いただきありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問