前回の記事「.bash_profileで環境変数を設定する」に引き続き、本記事は.bashrcの設定についてまとめます。2つの設定ファイルはともにシェルに初期設定を登録するためのファイルですが、.bash_profileは基本的にログイン時にのみ読み込まれるのに対して、.bashrcはシェルが起動する度に読み込まれるのでした。
.bashrcとは
シェルを起動する度に読み込まれる設定ファイルです(ホームディレクトリに置いておきます)。.bashrcでは、主にエイリアスやユーザ定義関数、シェルの起動の度に実行するコマンドなどを登録します。
umask
ファイル作成したときは、読み書き実行に関して誰が行えるか(ファイルへのアクセスの権限)を取り決めることができます。これをパーミッションといいます。ファイル(file.txt)のパーミッションは小文字のエルをオプションとして指定することで、lsコマンドで確認できます。
$ ls -l file.txt -rw-r--r-- 1 hoge hoge 3 2008-10-25 20:05 file.txt
この出力結果の見方は「パーミッションとは」に分かりやすい説明が載っています。
.bashrcに
umask 022という1行を入れておくと、ファイルを新規作成したときに、そのファイルのパーミッションは644になります。すなわち、作成したユーザは読み書きができますが、それ以外の人は読むことしかできません。
fortune
fortuneは、実行する度に格言やジョークを端末に表示するプログラムである。シェルを立ち上げる度に、自動的にfortuneを実行するようにbashrcに書き込んでおくと楽しい。apt-getなどで、
# apt-get install fortune-modインストールする。
ちなみに、fortuneの語源はフリー百科事典『ウィキペディア(Wikipedia)』によると、「フォーチュン・クッキー(fortune cookie)とは、中に運勢の書かれた紙片の入った菓子である。アメリカ合衆国の中華料理店では殆どの店で食後に出される。」とのこと。
フォーチュンクッキーを開けたところ(出典:Wikipedia).bashrcの設定例
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
#alias ls='ls -F --color=auto'
alias ls='ls --color=auto --ignore-backups --human-readable -vxX '
alias eng='LANG=C LANGUAGE=C LC_ALL=C'
# don't put duplicate lines in the history. See bash(1) for more options
export HISTCONTROL=ignoredups
# ... and ignore same sucessive entries.
export HISTCONTROL=ignoreboth
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
umask 022
/usr/games/fortune
ただし、ssh接続されるサーバ上のアカウントで/usr/games/fortuneの行を書いていたら そのアカウントに対してscpできない。回避方法としては、~/.bashrcでなく~/.bash_profileなどに書いておく(そうしたら、端末を立ち上げるごとでなくて、ログインにつき1回しかfortuneは実行されないが)。
ディストリビューションによっては、/usr/games/fortuneではなくて/usr/bin/fortuneかもしれない。fortuneをインストールしたが、実行ファイルの場所が分からないときは
$ which fortuneを実行して場所を確認すること。

0 コメント:
コメントを投稿