質問: ### やってしまったミスと現在の状態 CUIもTeratilも初心者です。伺いたいことをなるべく丁寧にお伝えしようと思いますが質問の仕方や内容が適切でなかったら申し訳ないです。 Anacondaをインストールしたにもかかわらずデフォルトのpythonが2系のままになっていることに気がつき、PATHが何を意味するかもよくわかっていないのにこれを治そうとしてGoogleで見つけた以下のコマンドを実行しました。 ``` $ export PATH='.pyenv/versions/anaconda3-3.4.0/bin:$PATH' ``` この結果ほとんどのコマンドで"command not found"と表示されてしまう状態となってしまいました。 ### 対処しようと思って読んだ記事 これに対処しとうと思って以下のQiiatの記事を読みました。 1.環境変数の設定を間違えてほとんどのコマンドが "command not found" になってしまったときの対処法 2.PATH設定がどこにあるか分からないときに見るべきファイル いずれも非常に勉強になったのですが、結果的にまだ復旧ができていない状況です。 1の記事の主旨は以下の通りです。 * viコマンドは絶対パス(/usr/bin/vi)で実行できる。 * PATHの設定は~/.bashrcにかかれているので、/usr/bin/viをつかって~/.bashrcを編集しよう。 絶対パスを使えばコマンドを実行できると知れたのはとても助かったのですが、自分の~/.bashrcにはとくに詳しい内容は書かれていませんでした。 2の記事には/etc/paths.d と /etc/manpaths.dという2つのディレクトリの内容がPATHの設定に追加されるという旨のことが書かれてあります。自分のMacのこのディレクトリを確認したのですが、このディレクトリにはなにも入っていませんでしした。 ### この他ネットで見つけた対処法について ``` $ export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin ``` ネットで上記のコマンドを実行してしまうという対処法を見つけました。これを実行してしまっていいのか躊躇しています。これはPATHの設定をほぼ初期設定に戻してしまうというような対処法である気がするのですが、正しい理解でしょうか。自分が設定してしまった間違った設定がパソコンのどこかに残ってしまっているのではないかとか、自分がパソコンを購入してから設定した(けども忘れてしまっている)PATH設定が仮にあったとしたらそれを無効にしてしまうのではないかといった不安があります。 ### 教えていただきたいこと * 自分が誤って設定してしまったPATHはどこに書かれている可能性があるでしょうか? * 自分が誤った設定をした前の状態に正確に戻すことは可能でしょうか? * もし上の2つが不明な場合、『この他ネットで見つけた対処法について』で書いたコマンドを実行してしまっても大丈夫でしょうか? お力添えをいただけると有り難いです。 ### 関係がありそうな主なファイルの内容 ~/.bashrc ``` export PS1="\u: \w$ " alias rm='rm -i' ``` /etc/bashrc ``` # System-wide .bashrc file for interactive bash(1) shells. if [ -z "$PS1" ]; then return fi PS1='\h:\W \u\$ ' # Make bash check its window size after a process completes shopt -s checkwinsize [ -r "/etc/bashrc_$TERM_PROGRAM" ] && . "/etc/bashrc_$TERM_PROGRAM" ``` ~/.bash_profile ``` if [ -f ~/.bashrc ] ; then . ~/.bashrc fi export PATH=$HOME/.nodebrew/current/bin:$PATH source ~/.bashrc # added by Anaconda3 2018.12 installer # >>> conda init >>> # !! Contents within this block are managed by 'conda init' !! __conda_setup="$(CONDA_REPORT_ERRORS=false '/anaconda3/bin/conda' shell.bash hook 2> /dev/null)" if [ $? -eq 0 ]; then \eval "$__conda_setup" else if [ -f "/anaconda3/etc/profile.d/conda.sh" ]; then . "/anaconda3/etc/profile.d/conda.sh" CONDA_CHANGEPS1=false conda activate base else \export PATH="/anaconda3/bin:$PATH" fi fi unset __conda_setup # <<< conda init <<< ``` /etc/profile ``` # System-wide .profile for sh(1) if [ -x /usr/libexec/path_helper ]; then eval `/usr/libexec/path_helper -s` fi if [ "${BASH-no}" != "no" ]; then [ -r /etc/bashrc ] && . /etc/bashrc fi ``` 必要のある情報かわかりませんが~/.profileというファイルはありませんでした。 OSはMacのMojaveです。 お力添えいただけると幸いです。 ### 一瞬で解決しました...有難うございます。 ログアウトしただけで解決しました...なんだかとても恥ずかしいです。環境変数についてちゃんと理解できていなかったです。 身近にすぐ質問できる人もおらずかなりテンパったのですがteratailに聞いたら一発でご回答をいただけてとて有難かったです。 Qiitaに初めて投稿したときもすごい実力のある人からコメントをいただけたりしたのでびっくりしたのですがteratailでもものすごい実力のある方々が一瞬でご回答くださったので驚きました。こういうのは逆にものすごい実力のある方のほうが軽い気持ちでどんどん助言してくださるのかもしれないですね。有り難いです。このサービスを提供してくださっている方にも感謝です。 自分がこういうので人の役にたてるのはもしできたとしても相当先のことになると思いますが時間をかけて頑張ろうと思います。katoyさん、yut148さん、otnさん、hayataka2049さん、有難うございました!!!
回答: Mojaveを持っていませんのであまり正確な回答にはならない事を御承知ください。 >自分が誤って設定してしまったPATHはどこに書かれている可能性があるでしょうか? ちょっとわかりません。 >自分が誤った設定をした前の状態に正確に戻すことは可能でしょうか? 可能と考えます。 コントロールパネルから新規にMacOS上でユーザを作成してそのユーザでログインします。 デフォルトの状態を今ご利用のユーザと見比べて修正してみてはいかがでしょうか。 もちろん新規に作成したユーザの各プロファイルはgistなりなんなりでネットサービス上に置いておくと比較しやすい事は言うまでもありません。