LinuxOSでエイリアスを永久に削除する方法。

以前、railsのローカル環境をセットアップした際、homebrewに関するエラーがでてしまいました。
そのエラーと格闘していた時、間違えてエイリアスを作成してしまったのですが、
どうしても永久に削除する方法が見つからなかったのでここに書いて置きます。

*homebrewのエラー解決の様子も後ほど書きます。計10時間ほどは格闘していたと思います…

そもそもエイリアスとは

aliasとは、コマンドの別名を登録するコマンドです。
別の名前で参照するためのシンボルとも言われますが、
具体的な使い方としては

  • ショートカット
  • パスの変更

などで使います。
自分は後者で使いました。

エイリアスの設定方法

設定方法は簡単でターミナル上で以下のように記述します。

alias [登録名]=[登録するコマンド]

$ alias be='bundle exec'

この例では、rails のgem管理ツールのbundlerのコマンドの一つであるbundle exceをいちいち

$ bundle exce rake db:migrate

などと打たなくていいように、つまり

$ be rake db:migrate

で済ませるためのものです。

エイリアスの一時的な停止

こちらは色々なところによく乗ってる方です。 まず現在設定してあるエイリアスの一覧を表示するには

$ alias

のように打つと一覧が表示されます。

そこで消したいエイリアスを確認し、

$ unalias [登録名]

# 例えば
& unalias be

とすれば、エイリアスを解除することができます。 ただし、この方法だとターミナルを閉じるとまた戻ってしまいます。 永久にエイリアスを削除するためにはちょっと手間が必要なのです。

エイリアスを永久に削除するには

エイリアスを永久に削除するためには設定ファイルの記述を削除する必要があります。 Googleで検索しても、なぜかファイルが見つからなかったので、かなり時間をかけてどこにあるか探してみました。 その結果、自分の環境だと.bash_profileというファイルに記述してあることがわかりました。 削除までの様子を書いておきます。

まずエイリアスの一覧を表示

$ alias
alias brew='env PATH=/Users/Yuki 1/.rbenv/shims:/Users/Yuki 1/.rbenv/shims:/Users/Yuki 1/.rbenv/shims:/anaconda3/bin:/Users/Yuki 1/.rbenv/shims:/Users/Yuki 1/.rbenv/shims:/usr/local/bin:/Users/Yuki/anaconda/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin brew'

今回はbrewを削除したい。

ホームディレクトリから

$ ls -a
total 112
.
..

...(中略)...

.atom
.bash_history
.bash_profile
.bash_sessions

...(後略)...

ホームディレクトリの隠しファイルにありました。 .bash_profile を開いてみると、ちゃんと記述があります。

$ cat .bash_profile 
# added by Anaconda3 4.3.1 installer
export PATH="/Users/Yuki/anaconda/bin:$PATH"
export PATH=/usr/local/bin:$PATH
eval "$(rbenv init -)"
export PATH="$HOME/.rbenv/shims:$PATH"

# added by Anaconda3 5.1.0 installer
export PATH="/anaconda3/bin:$PATH"
eval "$(rbenv init -)"
eval "$(rbenv init -)"
eval "$(rbenv init -)"
alias brew="env PATH=${PATH/\/Users\/tasukujp\/\.pyenv\/shims:/} brew"
eval "$(rbenv init -)"

ここで$ vim .bash_profileをして、

alias brew="env PATH=${PATH/\/Users\/tasukujp\/\.pyenv\/shims:/} brew”

の記述を削除

できた!

$ brew -v
Homebrew 1.6.6
Homebrew/homebrew-core (git revision b181; last commit 2018-05-30)

Aliasは使いこなせると便利そうですね。
意味わからず使ってしまうと混乱します…笑