Linuxのbash設定ファイルについてです。
目次
サンプル | ログイン時にファイルが読み込まれる順番 |
1./etc/profile | |
2.~/.bash_profile | |
3.~/.bashrc | |
4./etc/bashrc | |
~/.bash_logout | |
ログイン時にhello worldの文字を表示するサンプル |
ログイン時にファイルが読み込まれる順番
- /etc/profile
- ~/.bash_profile
- ~/.bashrc (~/.bash_profileの中に~/.bashrcを読み込む記述あり)
- /etc/bashrc (~/.bashrcの中に/etc/bashrcを読み込む記述あり)
ログアウト時に読み込まれるファイル
- ~/.bash_logout
記号の意味
~/.bash_profile , ~/.bashrc , ~/.bash_logout |
- 「~/」 はユーザーのホームディレクトリを表します。
ログインユーザがtestの場合のホームディレクトリは/home/testです。
ホームディレクトリに移動する場合は、cd ~で移動できます。
- ファイルの前にあるドット(.)は隠しファイルを表します。
lsコマンドでaをつけると表示されます。
1./etc/profile
ログイン時に、読み込まれます。全ユーザーに適用されます。
2.~/.bash_profile
ログイン時に読み込まれます。ログインユーザーのみに設定されます。
ユーザー固有の環境変数と起動プログラムを記述します。
.bash_profileのコード
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
4行目から6行目に ~/.bashrcがあれば ~/.bashrcを読み込むと記述されています。
8行目からは、ユーザー固有の環境変数と起動プログラムを記述します。
10行目は、PATHの値を設定しています。コロン(:)区切りです。$HOMEは、testユーザであれば/home/testになります。
12行目は、exportコマンドで環境変数のPATHを設定しています。
→コマンド実行時に、指定されたPATHにその実行ファイルを検索しにいきます。
3.~/.bashrc
ユーザ固有のエイリアスと関数を記述します。
.bash_profileの中に~/.bashrcを読み込む記述があるためログイン時に読み込まれます。
上記箇所をコメントにすると読み込まれません。
bashコマンドでbashを起動すると~/.bashrcが読み込まれます。
.bashrcのコード
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# User specific aliases and functions
4行目から6行目は、 /etc/bashrcがあれば/etc/bashrcを読み込みます。
8行目からは、ユーザ固有のエイリアスと関数を記述します。
4./etc/bashrc
プロンプトの設定等を行っています。
以下はプロンプトです。
以下は、/etc/bashrcの読み込みをコメントにし、プロンプトの設定がない状態です。
~/.bash_logout
ログアウトする時に読み込まれます。
ログイン時にhello worldの文字を表示するサンプル
ログイン時に文字列を表示するようにします。
viで~/.bash_profileを開きます。
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
echo "hello world"
13行目を追記しました。
ログインすると以下のように表示されます。
関連の記事