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

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

ただいまの
回答率

88.82%

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

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 1,359

imotarou

score 11

前提・実現したいこと

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

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

-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 -)"
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • kazto

    2019/05/10 11:51

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

    キャンセル

  • imotarou

    2019/05/10 11:57

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

    キャンセル

  • kazto

    2019/05/10 12:55

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

    キャンセル

  • imotarou

    2019/05/10 18: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を入れようとしてインストール中電波が悪くて中断してしまうというトラブルがありました。先にいうべきだったでしょうか?

    キャンセル

回答 2

checkベストアンサー

+1

.bash_profileに

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


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

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/05/29 20:16

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

    キャンセル

+1

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

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


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


ご提示の .bash_profile

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"


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

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/05/13 20:38

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

    キャンセル

  • 2019/05/24 13:04

    ?? テキストエディターで else の後ろにカーソルを合わせて、

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

    と書くということなんですが、自分で .bash_profile のどこを変更したのか把握できていないということですよね。
    sage さんのいうように .bash_profile を削除(もしくは念のため別名にリネーム)して安定した通信環境で anaconda (や pyenv?)を再インストールするのがいいんじゃないでしょうか

    キャンセル

  • 2019/05/29 20:15

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

    キャンセル

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

  • ただいまの回答率 88.82%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る