筆者について
FreeBSDを通じてOSSにささかな貢献を。
- 日本xrdpユーザ会発起人
- xrdp developer
- FreeBSD developer
OSS活動をご支援いただける方を募集しています
2009-04-10 bash-4.0 on FreeBSD
■ グローバルな bashrc を読み込むようにするパッチ
対象環境は FreeBSD 7.1-RELEASE / bash-4.0 です。
多くの Linux ディストリビューションでは、ログインシェル以外でも初期化ファイル /etc/bash.bashrc が読み込まれるようになっていますが、FreeBSDでは読み込むようにはなっていません。
そこでログインシェル以外でも /etc/bash.bashrc を読み込むようにするパッチを作成しました。
--- config-top.h.orig 2009-01-05 04:32:23.000000000 +0900 +++ config-top.h 2009-04-10 18:31:17.000000000 +0900 @@ -75,10 +75,10 @@ #define KSH_COMPATIBLE_SELECT /* System-wide .bashrc file for interactive shells. */ -/* #define SYS_BASHRC "/etc/bash.bashrc" */ +#define SYS_BASHRC "/etc/bash.bashrc" /* System-wide .bash_logout for login shells. */ -/* #define SYS_BASH_LOGOUT "/etc/bash.bash_logout" */ +#define SYS_BASH_LOGOUT "/etc/bash.bash_logout" /* Define this to make non-interactive shells begun with argv[0][0] == '-' run the startup files when not in posix mode. */
上のパッチを /usr/ports/shells/bash/files/patch-syswide-bashrc として保存します。
そして、普通に make install するだけです。
# cd /usr/ports/shells/bash # make deinstall # make install
これで、ログインシェル以外の bash でも /etc/bash.bashrc が起動時に読み込まれるようになります。
ただし、portsnap や portupgrade を実行した際にパッチの当たっていない bash がインストールされる可能性がありますが、ここでは触れません。
ちなみに、/etc/bash.bashrc には以下のように記述しました。
# /etc/bash.bashrc [ -f /etc/profile ] && . /etc/profile
時代は zsh ですよ。
zsh の実力は分かってるんですが、先立つものがというか初期設定の敷居が高そうというか…。<br>bash + bash_completion で不自由ないんですよねー。
同じくです。<br>…っていうか、私の場合は tcsh でも困ってない…。<br>デスクトップ環境がメインですしねー。