「何を今更」かもしれないが、はじめに確認しておこう。
大雑把にいってしまうとLinuxにログインした際、一般には以下の順序で設定が読み出される。
① /etc/profile(全てのユーザに適用される)
② ~/.bash_profile(ログインユーザに適用される)
③(②がなければ)~/.bash_login(ログインユーザに適用される)
④(②も③もなければ)~/.profile(ログインユーザに適用される)
というわけで、ログインユーザ別に環境変数なりを設定したい場合、~/.bash_profileに色々と書いていくのが常道だろう。
ところで.bash_profileはシェルスクリプトでもある。ということは、ログイン時にコンソールへ色々と出力することも可能、ということだ。
というわけで、検証機(Alma Linux)の~/.bash_profileをこんな風に書いてみた。
ほら、ログイン時にホストが正しいか、とか見えたほうがいいじゃないですか。人間って間違える生き物だし。
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi# User specific environment and startup programs
echo -e "\e[33m------------------------------------------------------------------- \e[m"
echo [hostname]:`hostname`
echo -e "\e[33m------------------------------------------------------------------- \e[m"
echo "[IP/mask(enp03s)] `ip a show dev enp0s3 2>/dev/null|grep inet |cut -d " " -f 6`"
echo -e "\e[33m------------------------------------------------------------------- \e[m"
echo "[Filesystem]"
df -h |egrep --color=never '^/|Filesystem'
echo -e "\e[33m------------------------------------------------------------------- \e[m"
echo "[User and Processes]"
w
echo -e "\e[33m------------------------------------------------------------------- \e[m"echo "あなたはシステム管理者から通常の講習を受けたはずです。
これは通常、以下の3点に要約されます:#1) 他人のプライバシーを尊重すること。
#2) タイプする前に考えること。
#3) 大いなる力には大いなる責任が伴うこと。"
echo -e "\e[33m------------------------------------------------------------------- \e[m"PATH=$PATH:$HOME/bin
export PATH
実際、ログインした際は以下のように表示される。
.bash_profileに色々書くべきではない、という流派もあるは存じあげているけれど、これはこれでちょっと楽しい。