😇
環境変数(PATH)を上書きして「command not found」
はじめに
以前Goをインストールしてパスを通すときに環境変数に$をつけ忘れ、パスを上書きしてしまうかなり初歩的なミスを犯しました。
そしてほとんどのコマンドがcommand not found
になってしまいかなり焦ったので備忘録として残しておこうと思います。
環境
- Vagrant 1.8.5
- bento/centos7.1 (virtualbox, 2.2.2)
- zsh
原因
Goに関する部分で間違ってしまった~/.zshrc
の記載がこちら
~/.zshrc
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:/usr/local/go/bin
export PATH=PATH:$(go env GOPATH)/bin
4つ目のパスの設定がミスっている...
これだと環境変数のパスが呼び出されていないのでパスが上書きされてしまいます。
本当ならばexport PATH=$PATH:$(go env GOPATH)/bin
としなければならないのに当時の自分は何を思ったのか碌に確認もせず$ source ~/.zshrc
を打ち込んでしまいました。
そしたらls
コマンドがcommand not found
、この時点でやらかしたーと思いvi ~/.zshrc
結果command not found
。
シェルを変えることもできず、とりあえずechoやexportコマンドは動くようなのでググればなんとかなるかもしれないと考えました。
解決法
かなり簡単なことで、パスを設定しなおせばコマンドは動くようになりました。
export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
これである程度のコマンドは動くようになったので真っ先に~/.zshrc
を直しました。
これで一安心.
結果
自分は予期しないことが起きると焦ってしまうので、どんな時でも落ち着いて対応できる精神を身につけなければいけないなと痛感しました。
焦ったときこそググレカスって自分に言い聞かせたいと思います。
Discussion