コンソール操作で覚えておきたいこと。.bash_profile編。
bash_profileとは?初心者の方は聞きなれないかもしれませんが、 ログインシェルを切り替えた時に読み込まれる設定ファイルです。
ターミナルを起動した際に、ログインをしているという感覚(インスタとか、Facebookとかのような)はないかもしれませんが、 ターミナルの起動≒ログインでその時にホームディレクトリ下の.bash_profileというファイルが読み込まれています。
ホームディクトリとはターミナルを開いた時の最初のカレントディレクトリです。 (Macの場合は/Users/[ユーザ名])
プログラミングを始めた頃のここらへんのOSの知識はあまり意識できないかもしれませんが、 プログラミングを始めて環境構築を始めた頃には必要になってくる知識ですので、 .bash_profileについて説明していきます。
.bash_profileの挙動を確認する
まずは実体験として.bashprofileが読み込まれているよ。ということを確認するために.bashprofileにコマンドを仕込んでいきましょう。
.bashprofileもbashスクリプトと同様に実行されるので.bashprofileにコマンドを書いておけば順番に実行されます。
挙動の確認のためにのために試しに.bash_profileを編集して、ファイル内にdateコマンドを書いて新たにターミナルウィンドウを立ち上げてみましょう。
.bash_profileは隠しファイルというドットから始まるファイルなので、MacのFinderなどでは設定を行わないと確認できません。 ターミナル起動後以下のコマンドを実行するとホームディレクトリのファイルの一覧が隠しファイルもふくめて出力されます。
ls -la
あとは、以下のコマンドでdateコマンドを追記します。
echo "date" >> .bash_profile
次にターミナルを新しいウィンドウで立ち上げてみると見事にコンソールに現在日付が表示されるはずです。 追記するコマンドはlsコマンドでもtouchコマンドでもなんでもよいのですが、.bash_profileが読み込まれて入ればOKです。
Linux,Mac OSはこの機能を利用して、ログイン時に環境変数を設定したりします。
.bash_profileの役割
.bash_profileは先に書いたようにログイン時に読み込まれるのでその特徴を利用して環境変数の宣言などを 行います。
よく使われるのがPATHと呼ばる環境変数の追加です。環境変数のPATHにディレクトリを登録しておくと登録したディレクトリ 直下のスクリプトが絶対パスで指定しなくても実行できるようになります。
自分の環境に新たにライブラリをインストールするときなどに、インストールするライブラリのパスを環境変数のPATHに登録します。
.bash_profile
export PATH="$PATH:[登録するディレクトリのパス]"</code> 例として、よく使われる環境変数のPATHの例を出しましたが rubyだとrbenvやrvm、nodeだとnvmなどのバジョーン管理ツールをインストールした際に.bash_profileを編集することも多く、 .bash_profile内でPS1という変数をいじることでターミナルのプロンプトを変更することもできます。 実際の使われ方はケースバイケースな部分も多いですが、環境構築時などによく触れるようになることは覚えておきましょう。</pre>
まとめ
今回は.bash_profileについて書きましたが、OSの仕組み的なところはコマンドライン操作や環境構築を行う上で必要となる知識です。 記事中で触れた環境変数などのところも知っておくと便利なので併せて押さえておきましょう。