質問編集履歴

1 解決した報告とお礼

NirohShimashita

NirohShimashita score 12

2019/02/09 14:39  投稿

MacOSのPATH設定を誤った結果、ほとんどのコマンドが "command not found" と表示されるようになってしまいました。PATHが設定されている場所を理解して、設定を適切に戻したいで
### やってしまったミスと現在の状態
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" になってしまったときの対処法](http://https://qiita.com/noraworld/items/4556f91bc31f641d187d)
2.[PATH設定がどこにあるか分からないときに見るべきファイル](http://https://qiita.com/gm_kou/items/24dec9f0e51b9343651b#etcpathsd)
いずれも非常に勉強になったのですが、結果的にまだ復旧ができていない状況です。
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さん、有難うございました!!!
  • Python

    15427 questions

    Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

  • Linux

    4991 questions

    Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

  • MacOS(OSX)

    2694 questions

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

  • Anaconda

    502 questions

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る