読者です 読者をやめる 読者になる 読者になる

c-bata web

@c_bata_ のメモ。python多め

PATHやaliasの指定方法メモ

Linux

ターミナル使ってるくせに,PATHやaliasの指定方法がよく分かっておらず,あまり使いこなせていないのでちょっと整理。

.bashrcと.bash_profileの違い

いつも気になっていたのが.bashrcと.bash_profileの違い。とりあえず調べてみると

実行されるタイミング
.bash_profile ログイン時だけに実行
.bashrc ログイン時に.bash_profileから読み込まれるという形で実行されるが、別のシェルが起動したときにも実行

ということらしいです... いまいちピンと来ないので、使い分けを調べてみると

定義するもの
.bash_profile 環境変数(PATH)
.bashrc シェル変数やエイリアス(alias)

という風に使い分けるのが定石のようです。


実際にPATHを指定してみる

PATHは.bash_profileに記述するのが定石なので、.bash_profileの最後尾に↓を追加してsourceコマンドを実行すればOK

export PATH=$PATH:追加したいフォルダのパス

ボクの場合は開発中のプログラムの動作チェックをするときに,いちいちそのフォルダに移動するのが面倒くさいので↓を.bash_profileに追加。

export PATH=$PATH:$HOME/vagrant/rubydev

これで実行ファイル名を入力するだけでどこからでもプログラムの動作確認ができる。


実際にaliasを追加してみる

MacとUbuntuのフォルダ起動コマンドを統一する

MacのターミナルからFinderでフォルダを開くにはopenコマンド,Ubuntuのターミナルからファイラー(Nautilus)でフォルダを開くにはnautilusコマンドが使われている。 この使い分けが面倒くさいので普段から使い慣れているopenコマンドで統一する。

aliasは.bashrcに記述するのが定石とのことなので、Ubuntuの~/.bashrcを開き,ファイルの最後尾に↓を追加。

alias open='nautilus'

.bashrcや.bash_profileの設定を反映させるにはsourceコマンド。

$ source ~/.bashrc

これでMacと同じようにopenコマンドでフォルダを開くことが出来る。例えばカレントディレクトリを開く場合は↓

$ open .


lsコマンドの実行結果に色を付ける

lsコマンドの実行結果にGオプションを指定すると,フォルダやファイルが色で見分けられる。 先程と同じように.bashrcの最後尾に↓を追加してsourceコマンドを実行すればOK.

alias ls='ls -G'


.bashrcを.bash_profileから読み込むための設定

bashrcにaliasを設定した後,sourceコマンドを実行すれば.bashrcの設定が反映されます。 でもここでTerminalの新規ウィンドウを起動し,設定したaliasを実行してみると,うまく行きません。 シェルの起動時には,".bash_profile"が読み込まれますが,".bashrc"は読み込まれないからです。

.bashrcは.bash_profileから読み込んであげないといけないので,↓のように.bashrcを読み込む設定を.bash_profileに追記しましょう。

if [ -f ~/.bashrc ] ; then
. ~/.bashrc
fi

sourceコマンドでこの結果を反映させると,シェルの起動時に.bashrcが読み込まれます。